Lab03
Lab 03
Question 01
相关代码见\soultion\Question01
Question 02
- 不正确,删除
int something保持与父类eat方法中一样无参,重写的方法必须有相同的参数列表。 - 不可以,重写的方法不能使用限制等级更严格的权限修饰符。
- 不正确,返回类型改为
Worker,返回new Worker(),重写的方法要返回相同的类型。 - 不正确,返回类型改为
int,返回(int)my_salary重写的方法要返回相同的类型。 - 非静态方法可以被覆盖,属性和静态方法不能被覆盖可以被隐藏。
Question 03
| 区别点 | this | super |
|---|---|---|
| 引用(代表什么) | 当前类对象 | 当前对象的父类对象 |
| 使用方式 | 直接引用,区分同名形参与成员 | 直接引用,区分同名子类成员变量或方法和父类成员变量或方法 |
| 调用构造方法(调用谁的构造方法,放在第几条语句) | 调用本类对应形参的构造方法,放在第一条 | 调用父类对应形参的构造方法,放在第一条 |
| 查找范围(查找顺序) | 先从本类查找,找不到则去父类 | 只能查找父类 |
Question 04
- 不能被继承,可以继承其他类。
- 不可以被重写。
- 常量。
- 不能改变其引用地址,可以改变对象的内部属性。
Question 05
- 没有子类
- 不可以,
final类可以被实例化,而所有构造方法都是private的类无法在外部被实例化。
相关代码见\soultion\Question05
Question 06
可以通过super.get()来获取a和b的值。
相关代码见\soultion\Question06
Question 07
相关代码见\soultion\Question07
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.








