基础:覆盖

                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属性值

p.drink();                                                                        结果:执行显示子类的函数值


你可能感兴趣的:(c)