final关键字、多态、抽象类、接口的小复习
---------------------------------------
1:final关键字可以干什么?有什么特点?
最终的意思。可以修饰类,方法,变量。
它修饰类,类不能被继承。
它修饰方法,方法不能被重写。
它修饰变量,变量是常量。且没有默认初始化,只能初始化一次。
---------------------------------------
2:final关键字的面试题?
A:修饰局部变量
基本类型:值不能改变。
引用类型:地址值不能改变,内容可以改变。
B:变量常见的初始化时机
定义的时候。
在构造代码块中给值。
构造方法中。
---------------------------------------
3:多态是什么,前提是什么?
同一个对象在不同时刻表现出来的不同的状态。
A:有继承或者实现关系。
B:有方法的重写。
C:有父类或者父接口引用指向子类对象。
---------------------------------------
4:多态中对成员的访问的特点?
成员变量:
编译看左边,运行看左边。
成员方法:
编译看左边,运行看右边。
静态方法:
编译看左边,运行看左边。
---------------------------------------
5:多态的好处及弊端?如何解决多态的弊端?
好处:
维护性和扩展性。
弊端:
父类不能使用子类特有功能。
如何解决呢?
A:创建子类对象。(在内存中会多了一个对象)
B:向下转型。
---------------------------------------
6:什么是向上转型?什么是向下转型?
子 -> 父
父 -> 子
---------------------------------------
7:多态练习
自己做
---------------------------------------
8:抽象类概述及其特点?
抽象类:继承的时候,提取了多个方法,而有些方法不是每个子类都是一模一样的实现,
这个时候,就应该把这样的方法不提供具体实现,而不提供具体实现的方法是一个抽象方法。
在一个类中,如果有抽象方法,该类必须定义为抽象类。
特点:
A:抽象类或者抽象方法由abstract修饰。
B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类。
C:抽象类不能被实例化。
D:抽象类的子类:
a:是抽象类。
b:是具体类,要重写所有抽象方法。
---------------------------------------
9:抽象类成员特点?
A:成员变量
有变量,有常量。
B:构造方法
有。用于子类访问父类数据的初始化。
C:成员方法
有抽象方法,有非抽象方法。
---------------------------------------
10:抽象类练习?
---------------------------------------
11:抽象类的小问题
A:一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
答:抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,
即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。
如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则编译通不过。
意义:就是不让其他类创建本类对象,而是交给子类完成,防止乱用。
B:abstract不能和哪些关键字共存:
final 冲突
private 冲突
static 无意义
---------------------------------------
12:接口的概述及其特点?
接口:某个继承体系需要扩展功能的时候,就应该实现接口。
特点:
A:接口用interface修饰。
B:类实现接口用implements修饰。
C:接口不能实例化。
D:接口的实现类:
a:是抽象类。
b:是具体类,重写接口中的所有抽象方法。
---------------------------------------
13:接口的成员特点?
A:成员变量 静态常量
B:成员方法 抽象的方法
---------------------------------------
14:抽象类和接口的区别?
A:成员区别
B:关系区别
C:设计理念区别
"is a"
"like a"
---------------------------------------
15:接口的练习?
---------------------------------------
16:案例
猫狗案例,加入跳高的额外功能。
老师和学生案例,加入抽烟的额外功能。
教练和运动员案例(学生分析然后讲解)
---------------------------------------
【转载文章务必保留出处和署名,谢谢!】