继承的深入讨论/细节问题
2.子类必须调用父类的构造器,完成父类的初始化
3.当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无
参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用super去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不会通过?
内存布局分析
public class ExtendsTheory {
public static void main(String[] args){
Son son = new Son();//内存的布局
//?->这时请大家注意,要按照查找关系来返回信息
//(1)首先看子类是否有该属性
1/(2)如果子类有这个属性,并且可以访问,则返回信息
//(3)如果子类没有这个属性,就看父类有没有这个属性(如果父类有该属性,并且可以访问,就返回信息..)
//(4)如果父类没有就按照(3)的规则,继续找上级父类,直到0bject...
System.out.println(son.name);
}
}
class GrandPa {//爷类
String name = "大头爷爷";String hobby ="旅游";
网友评论