首页 > 其他分享 >动手动脑03

动手动脑03

时间:2023-10-14 14:23:37浏览次数:27  
标签:03 String 子类 动脑 System 动手 println 父类 public

1.

 实际操作了一下,发现确实 super基类构造法只能在子类构造法前面。放在后面会报错。

 

2.

如果父类的构造方法调用了子类的方法或使用了子类的属性,那么在父类构造方法执行时,子类可能还没有被完全初始化,这将导致运行时错误。因此,不能反过来调用父类的构造方法。必须在子类的构造方法中先调用父类的构造方法,以确保父类的属性被正确初始化,然后再初始化子类的属性。

3.

public class M1 {

   

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        Children c=new Children();

    }

 

}

class Parent

{

    public Parent()

    {

        System.out.println("父类方法!!!");

    }

    public Parent(String s)

    {

        System.out.println(s);

    }

}

class Children extends Parent

{

   

    public Children()

    {

       

        super("调用父类方法!!!");

        //System.out.println("");

        System.out.println("孩子方法!!!");

    }

}

 

4.

5.

 

 

 

 6.

 

Fruit类覆盖了Object类的toString方法。

结论: 在“+”运算中,当任何一个对象与一个String对象,连接时,会隐式地调用其toString()方法,默认情况下,此方法返回“类名 @ + hashCode”。为了返回有意义的信息,子类可以重写toString()方法。

7.请自行编写代码测试以下特性(动手动脑): 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。

package practice;

 

public class UseSuperInherits

{

    public static void main(String[] args)

    {

       Child c=new Child();

       c.printValue();

    }

 

}

class Parent

{

    public int value=100;

    public void printValue()

    {

       System.out.println("parent.value="+value);

    }

}

class Child extends Parent

{

    public int value=200;

    public void printValue()

    {

       System.out.println("child.value="+value);

       super.printValue();

    }

}

运行结果:

 

 8.

 

public class TestInstanceof
{
    public static void main(String[] args)
    {
        //声明hello时使用Object类,则hello的编译类型是Object,Object是所有类的父类
        //但hello变量的实际类型是String
        Object hello = "Hello";
        //String是Object类的子类,所以返回true。
        System.out.println("字符串是否是Object类的实例:" + (hello instanceof Object));
        //返回true。
        System.out.println("字符串是否是String类的实例:" + (hello instanceof String));
        //返回false。
        System.out.println("字符串是否是Math类的实例:" + (hello instanceof Math));
        //String实现了Comparable接口,所以返回true。
        System.out.println("字符串是否是Comparable接口的实例:" + (hello instanceof Comparable));
        String a = "Hello";
        //String类既不是Math类,也不是Math类的父类,所以下面代码编译无法通过
        //System.out.println("字符串是否是Math类的实例:" + (a instanceof Math));
    }
}

 

 9.

 

 d=m,d=c运行时将会报错。因为m是父类对象,d是子类对象。将父类对象转化成子类对象,必须进行强制转换。而d和c是两个互不相干的类对象,所以不能将d赋值给c.

 10.

程序被写死了,无法更改数据

11.

11.多态编程有两种主要形式:

(1)继承多态:示例程序使用的方法

(2)接口多态:使用接口代替抽象基类,这个任务留为作业。

现在我们可以回答前面提出的问题了:为什么要用多态?它有什么好处?

使用多态最大的好处是: 当你要修改程序并扩充系统时,你需要修改的地方较少,对其它部分代码的影响较小!千万不要小看这两个“较”字!程序规模越大,其优势就越突出

 

标签:03,String,子类,动脑,System,动手,println,父类,public
From: https://www.cnblogs.com/azure011328/p/17764113.html

相关文章

  • Codeforces Round 903 (Div. 3) E. Block Sequence(DP)
    CodeforcesRound903(Div.3)E.BlockSequence思路:设dp[i]为当i~n为完美的最少删除次数dp[n]=1,dp[n+1]=0;从后至前对于dp[i]更新若直接删除当前点,则为dp[i+1]+1若不删除则为min(dp[i+a[i]+1],dp[i]);i+a[i]+1为a[i]不能覆盖的位置#defineintlonglong#define......
  • Flask中render_template('index.html')查找index.html文件
    问题:jinja2.exceptions.TemplateNotFound:index.html解决方法如下:普通:render_template('index.html'),其中index.html的查询是找创建app=Flask(name)文件的同级目录的templates中查找注意:当导入create_app函数fromRealProjectimportcreate_appapp=create_app()@app......
  • Argument for '--moduleResolution' option must be: 'node', Unknown compiler opt
    node_modules/@vue/tsconfig/tsconfig.json(12,25):errorTS6046:Argumentfor'--moduleResolution'optionmustbe:'node','classic','node16','nodenext'.node_modules/@vue/tsconfig/tsconfig.json(33,5):erro......
  • # 如何将df_test['col']中的list对象拆分为两列, 使结果为df_result
    df_test=pd.DataFrame(data=[[[0,1]],[[1,0]]],columns=['col'])df_result=pd.DataFrame(data=[[0,1],[1,0]],columns=['col1','col2'])#如何将df_test['col&#......
  • PAT_B1033 旧键盘打字
    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 105 个字符的串......
  • 10.12(动手动脑)
    子函数的创建,父函数构造函数的实现情况packagehomework;classGrandparent{publicGrandparent(){System.out.println("GrandParentCreated.");}publicGrandparent(Stringstring){System.out.println("GrandParent......
  • Codeforces Round 903 (Div. 3)
    D题被hack了哭了第一题简单的只用把字符串重复的同时尝试匹配,然后判断就好了,只是需要一点代码能力第二题,也很简单最多剪断3次,就先从小到大排序,然后用最小的,看看大的是他的几倍,如果不是几倍的关系就不可能完成,如果是就算要几次就好了第三题,也很简单,很明显,对于一个格子,在它旋转9......
  • 10.13动手动脑
       结论:      ......
  • Codeforces Round 903 (Div. 3)
    D.DivideandEqualize思路:1.某个数除以x,某个数再乘以x,可发现数组总的乘积没有变化2.也就是说,要使数组中的每一个元素相同,它们总的质因子应该满足:某个质因子的数量%n==0E.BlockSequence简单的dpdp[i],表示删除这个数字后的最小删除次数可以正的枚举,也可以倒着来转移方程......
  • 练笔03 - 敬业即为极限(原创)
      初中社会有一类判析题,问你劳动者的某某行为,其答案通常是体现了敬业的价值准则。身边的劳动者有很多,最熟悉莫过于老师,新学期新班级,最令我印象深刻的,就是我的政治冯琪老师。   根据某提纲记载:“冯琪,宁波效实中学高级教师……高级人才”,享受宁波市专家级礼遇。”......