抽象类(理论)

123 阅读1分钟
在Java中abstract是抽象的意思,可以修饰类,成员方法
abstract修饰类,这个类就是抽象类,修饰方法,这个方法就是抽象方法

特征及注意事项:
类有的成员(成员变量,方法,构造器)抽象类都具备
抽象方法只有方法签名,不能声明方法体
一个类中如果定义类抽象方法,这个类必须声明陈抽象类,否则报错
一个抽象类不一定有抽象方法,有抽象方法那这个类一定是抽象类
一个类如果继承了抽象类,那么这个类必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类
不能用abstract修饰变量,代码块,构造器.
得到了抽象方法就不能创建对象,抽象类不能创建对象(不能动摇)
因为抽象类的方法没有方法体,所以抽象类不能创建对象,创建对象也没有意义

抽象类可以理解为不完整的设计图,一般作为父类,让子类来继承

当设计父类时,设计者知道继承这个父类的子类们一定要完成某些行为,但是每个子类的该行为实现又不同时,于是设计者会将该行为在父类里设计成抽象方法的形式,具体实现交给子类去完成,此时这个类就可以声明为抽象类

finalabstract是互斥关系
abstract定义抽象类作为模板让子类继承,final定义的类不能被继承
抽象方法定义通用功能让子类重写,final定义的方法子类不能重写