抽象类
在多态中,父类的方法必须存在,因为多态的必要条件必须存在方法重写
方法的实现毫无意义
提供方向的声明即可,不需要实现,就是抽象方法
抽象类的特点:
1 抽象方法和抽象类使用 abstract 修饰
2 只要有抽象方法的类,必须是抽象类
3 抽象类中不一定有抽象方法
4 没有抽象方法的抽象类有意义,防止外界创建对象
防止外界实例的方式:
a 构造方法私有
b 抽象类
c 接口
d 内部类
5 抽象类不能够实例化,得利用多态
6 抽象类的子类特点:
a 如果子类想要继承抽象类,就必须实现抽象类中的所有的抽象方法
b 如果子类不想实现父类的抽象方法,那么子类必须升级为抽象类
7 抽象类的子类特点:
抽象类中:
成员变量:给子类使用
成员方法:给子类使用
构造方法:帮助子类初始化父类继承下来的成员
静态方法:直接通过类名访问,防止创建对象的不建议访问方式
常量:可以,方便访问
抽象类和普通类没有区别,只不过抽象类多了抽象方法
抽象类的抽象方法强制子类重写
非抽象方法直接给子类使用
构造方法和成员变量直接给子类使用
8 抽象类是服务类,成员一般使用public或者protected
9 private修饰的方法不能被子类继承,更不能被重写,abstract修饰的方法强制子类重写
final修饰的方法不能被子类继承,二者冲突