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);

}

}

  

以上是 java中的显示初始化和特定初始化 的全部内容, 来源链接: utcz.com/z/390356.html

回到顶部