当一个类a继承一个类b,类b继承类c,类c继承类d时, 先执行d的构造,然后c、b;当该执行a的构造时,如果有成员变量,就先执行成员变量,最后构造 子类继承父类,子类重写父类的某个方法,当父类构造时,调用的这个方法不是父类的方法,是子类重写的方法 public class Structure { public static void main(String[] args) { new Childd(); } } class Father{ Father(){ System.out.println("父类的构造1111"); write(); System.out.println("父类的构造2222"); } void write(){ System.out.println("父类的写方法"); } } class Childd extends Father{ private int value = 1; Sleep s = new Sleep(); Childd(){ System.out.println("子类的构造"); } @Override void write() { System.out.println("子类的写方法 value="+value); //当父类构造时调用子类的重写方法,但子类还没有开始构造,所以value是默认的值0 } } class Sleep{ Sleep(){ System.out.println("构造睡觉方法"); } }
时间: 2024-11-05 13:40:04