抽象类的作用:可以被子类继承、充当模板的、同时也可以提高代码复用
什么时候使用:如果父类知道子类要完成某个功能,实现要交给子类时候使用
一个类如果继承了抽象类,那么这个类必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。
抽象方法:只有方法签名,没有方法体,使用abstract修饰。
注意事项:
抽象类有抽象方法,有构造器,但是不能创建对象(如果能创建对象的话,直接调用抽象方法,矛盾了)
类有的成员(成员变量、方法、构造器)抽象类都具备
抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类
一个类继承了抽象类必须重写完抽样类的全部抽象方法,否则这个类也必须定义成抽象类
不能用abstract修饰变量、代码块、构造器
abstract和final是互斥关系
abstract定义的抽象类作为模板是为了让子类继承,final定义的类不能被继承
抽象方法定义通用功能让子类重写,final定义的方法子类不能重写