6动手动脑和课堂例子

1、动手动脑:继承条件下的构造方法调用(TestInherits.java

  1super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) ,super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参)。super()从子类中调用父类的构造方法。调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。super()需放在构造方法内第一行。

  2)为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?

   不行的。子类继承了父类的各种属性,而构造方法则相当于把父类给实例化出来,如果你子类实例化的时候不调用父类的构造方法,相当于子类压根就没有父亲,就不能继承。

  3)截图

2、课堂例子:ExplorationJDKSource.java

  1)程序中创建一个没有成员变量的类,在堆栈中给这个类分配了内存,输出地址。

  2)截图

   

3、课堂例子:Fruit.java

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

  2)截图

   

4、课堂例子:Address.java

  1)所谓不可变类,是指当创建了这个类的实例后,就不允许修改它的属性值。在JDK的基本类库中,所有基本类型的包装类,如IntegerLong类,都是不可变类,java.lang.String也是不可变类,虽然他不是基本类型。

  2)截图        

原文地址:https://www.cnblogs.com/LL66/p/4944773.html