抽象类:
因为继承的关系,子类的功能可以越来越具体,相对来说父类更加一般化通用化,
因为父类封装了子类的共同行为,所以在定义时我们可以定义方法的逻辑,
有的时候,在父类中无法完成子类的功能需求此时,不如不写。
代码简单化,即不写方法体,但是此方法必须使用abstract修饰,那么此类型也必须使用abstract声明或修饰
即,抽象类。
1、抽象方法与抽象类
1、用abstract修饰的方法,不需要写方法体,但是得用;结尾
2、有抽象方法的类,必须使用abstract修饰
2、抽象类的特点抽象类不能实例化:
1、抽象类不能创建对象,没有意义 ----没有具体的类型,不知道实例什么
2、抽象类可以提供构造器,不提供也可以-----不能创建对象,构造器没意义,但是可以写,很麻烦
3、抽象类中可以没有抽象方法
4、 abstract和final不能同时修饰一个类型-----抽象类为了子类继承,final修饰不能再有子类
3、继承抽象类
1、若一个类继承了抽象方法,那么这个类必须重写(实现)抽象类的抽象方法,必须重写!!!!!
2、若一个类没有实现抽象类的所有抽象方法,那么这个类必须使用abstract修饰,抽象类继承抽象类还是抽象的,直到一个 具体的出现。
4、抽象类的意义:
1、给不同的子类型定义一个父类
2、抽象类可以封装子类的共同特征与共同行为
3、虽然子类可能有不同的实现逻辑,但是子类方法的定义一致,