-
1.继承中成员方法的关系?
-
2.方法重写的注意事项?
-
3.this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用?
-
4.final关键字的应用场景和特点?
-
5.final面试题?
-
6.多态?
成员访问特点
成员变量:
1.编译看左边,运行看左边
成员方法
2.编译看左边,运行看右边
静态方法
3.编译看左边,运行看左边
所以前面我说静态方法不能算方法的重写。
编译看左边,左边是父亲的。父亲中没有num2.所以编译报错。
运行看左边。左边是父亲的。
多态的好处
1.提高了程序的维护性(由继承保证)
2.提高了程序的扩展性(由多态保证)
多态的弊端
1.不能访问子类特有功能
2.那么我们如何才能访问子类的特有功能呢?
3.多态中的转型
-
7.向上向下转型?
向上转型
从子到父
父类引用指向子类对象
向下转型
从父到子
父类引用转为子类对象
-
8.抽象类?
在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类
抽象类
格式
abstract class 类名 {}
public abstract void eat();
一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
可以,不可以创建对象。
-
9.abstract不能和哪些关键字共存?
private 冲突
final 冲突
static 无意义