目录
一、抽象类的产生
当事务出现了共性,可以进行向上抽取。当方法功能声明相同,但方法功能主题不同时,这时候只抽取方法声明,不抽取方法主体,那么这个方法就是一个抽象方法
二、抽象类和抽象方法的定义
1、抽象类的定义格式
abstract class 类名
2、抽象方法的定义格式
abstract 返回值类型 方法名(参数);
3、示例
abstract class Employlee {
public abstract void work();
}
class Developer extends Employlee{
public void work(){
System.out.println("开发人员正在研发新的产品");
}
}
class Maintainer extends Employlee{
@Override
public void work() {
System.out.println("维护人员正在检查网络和硬件设备");
}
}
三、抽象类的特点
- 抽象类和抽象方法都需要被abstract修饰。抽象方法一定是定义在抽象类里面的。
- 抽象类不可以直接创建对象。原因:抽象方法调用没有意义。
- 子类必须重写了所有的抽象方法,才可以创建对象,否则,这个子类还是一个抽象类。
四、抽象类的细节问题
1、抽象类一定是一个父类吗?
是的,因为抽象类是不断抽取而来的。
2、抽象类中是否可以不定义抽象方法?
是可以的,那么这个抽象类存在的意义是什么呢? 不让该类创建对象
3、抽象关键字abstract不能与哪些关键字共存?
- private(私有的方法是无法继承的)
- static(不需要对象,直接用类名调用)
- final(被final修饰的类没有子类)
总结:
- 抽象类&抽象方法:abstract修饰
- 抽象类的特点:
- 抽象类和抽象方法都必须使用abstract修饰
- 抽象类不能直接创建对象
- 抽象类可以有抽象方法,也可以没有抽象方法
- 抽象类的子类 A.实现了抽象方法的抽象类 B、抽象类