Lab 04

Question 01

  1. 输出private f()
  2. 不能;

Question 02

  1. 输出:sup.field = 0, sup.getField() = 1 sub.field = 1, sub.getField() = 1, sub.getSuperField() = 0
  2. 类的非静态属性不能体现多态;

Question 03

  1. 输出:Base staticGet() Derived dynamicGet()
  2. 静态属性和静态方法不能体现多态;

Question 04

  1. 不能通过,在父类中添加study方法;变量parent的引用类型是Parent,无法调用Child中特有的方法;
  2. parent.name=李四 child.name=张三 子类eating 父类sleeping 子类eating 子类sleeping 子类studying
  3. 父类的非静态方法被子类覆盖,parent引用的是Child的实例,因此调用parent.eat()parent.study()时会执行Child类中的方法。

Question 05

相关代码见\soultion\Q5

Question 06

Question 07

Question 08

相关代码见\soultion\Q8