版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/dukangming/article/details/88657511
1.抽象类概述
- 抽象类特点
- a:抽象类和抽象方法必须用abstract关键字修饰
- abstract class 类名();
- public abstract void eat();
- b:抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者接口
- c:抽象类不能实例化,那么抽象类如何实例化?
- 按照多态的方式,由具体的子类实例化,其实这也是多态的一种,抽象类
- d:抽象类的子类
- 要么是抽象类
- 要么重写抽象类中的所有抽象方法
- a:抽象类和抽象方法必须用abstract关键字修饰
2.抽象类的成员特点
- 成员变量
- 既可以是变量,也可以是常量。(abstract是否可以修饰成员变量?不能)
- 构造方法
- 有。 用于子类访问父类数据的初始化
- 成员方法
- 既可以是抽象,也可以是非抽象
- 抽象类的成员方特性
- 抽象方法 强制要求子类做的事情
- 非抽象方法 子类继承的事情,提高代码复用性
3.常见面试题
- 一个抽象类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
- 答:可以 ,目的只有一个,不让其他类创建本类对象,只能交给子类完成。
- abstract不能和哪些关键字共存?
- 答: