System.out.println("无参数构造函数");
Child child = new Child(); 结果:先执行父类,后执行子类
System.out.println("有参数构造函数");
Child c2 = new Child("milk","jin"); 结果:先执行父类无参构造函数,后执行子类的方法体
System.out.println("调用属性");
System.out.println(child.book); 结果:执行显示子类的book属性值
child.drink(); 结果:执行显示子类的函数值
System.out.println("无参数构造函数");
Parent p = new Child(); 结果:先执行父类,后执行子类
System.out.println("有参数构造函数");
Parent p2 = new Child("sugar","summer"); 结果:先执行父类无参构造函数,后执行子类的方法体
System.out.println("调用属性");
System.out.println(p.book); 结果:执行显示父类的book属性值
Child child = new Child(); 结果:先执行父类,后执行子类
System.out.println("有参数构造函数");
Child c2 = new Child("milk","jin"); 结果:先执行父类无参构造函数,后执行子类的方法体
System.out.println("调用属性");
System.out.println(child.book); 结果:执行显示子类的book属性值
child.drink(); 结果:执行显示子类的函数值
System.out.println("无参数构造函数");
Parent p = new Child(); 结果:先执行父类,后执行子类
System.out.println("有参数构造函数");
Parent p2 = new Child("sugar","summer"); 结果:先执行父类无参构造函数,后执行子类的方法体
System.out.println("调用属性");
System.out.println(p.book); 结果:执行显示父类的book属性值
p.drink(); 结果:执行显示子类的函数值