Lab 03

Question 01

相关代码见\soultion\Question01

Question 02

  1. 不正确,删除int something保持与父类eat方法中一样无参,重写的方法必须有相同的参数列表
  2. 不可以,重写的方法不能使用限制等级更严格的权限修饰符
  3. 不正确,返回类型改为Worker,返回new Worker()重写的方法要返回相同的类型。
  4. 不正确,返回类型改为int,返回(int)my_salary重写的方法要返回相同的类型
  5. 非静态方法可以被覆盖,属性和静态方法不能被覆盖可以被隐藏。

Question 03

区别点 this super
引用(代表什么) 当前类对象 当前对象的父类对象
使用方式 直接引用,区分同名形参与成员 直接引用,区分同名子类成员变量或方法和父类成员变量或方法
调用构造方法(调用谁的构造方法,放在第几条语句) 调用本类对应形参的构造方法,放在第一条 调用父类对应形参的构造方法,放在第一条
查找范围(查找顺序) 先从本类查找,找不到则去父类 只能查找父类

Question 04

  1. 不能被继承,可以继承其他类。
  2. 不可以被重写。
  3. 常量。
  4. 不能改变其引用地址,可以改变对象的内部属性。

Question 05

  • 没有子类
  • 不可以,final类可以被实例化,而所有构造方法都是private的类无法在外部被实例化。

相关代码见\soultion\Question05

Question 06

可以通过super.get()来获取ab的值。

相关代码见\soultion\Question06

Question 07

相关代码见\soultion\Question07