首页 > 代码库 > java中的显示初始化和特定初始化
java中的显示初始化和特定初始化
public class Test{ public static void main(String[] args){ Child child = new Child(); }}class Parent{ public Parent(){ super(); show();//this.show(); 因为是Child类对象调用了super()来构造其父类的部分;所以父类中的this(随着其构造方法入栈的)是指向Child类对象的!所以调用的就是Child类对象的show方法! return ; } public void show(){ System.out.println("parent run!"); }}class Child extends Parent{ int num = 8;//显示初始化 public Child(){ super(); //--> 这一块是分水岭,咋回事呢? super();执行完毕也就是父类初始化完毕,才会对子类进行显示初始化 // 也就是 num=8这句显示初始化加载了构造函数紧挨着super();语句之后; 然后是子类中的数据的特定初始化! System.out.println("num = " + num); num = 10;//特定初始化 System.out.println("num = " + num); } public void show(){ System.out.println("child run && num = " + num); }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。