抽象类和抽象方法(abstract关键字)
1)抽象类
随着继承层次一个个新子类的定义,;类变得越来越具体,父类更一般,更通用。类的设计应该保证父类和子类能够共享特征,有时候一个父类设计的非常抽象,以至于他没有具体的实例,这样的叫做抽象类
2) abstract关键字
-
可以用来修饰 类、方法;
-
abstract修饰类:此类不能实例化;但是类中一定有构造器,便于子类实例化使用;
-
abstract修饰方法:
①抽象方法只有方法的声明,没有方法体;
②抽象方法所属的类只能是抽象类;
③只有子类重写了父类中所有的抽象方法后,才能实例化;
④若子类未重写父类中所有抽象方法,则此子类也只能抽象;
(理解:父类的抽象方法所有的子类都得重写;)
(父类的抽象方法只是提供一个模型,子类的重写是具体的实现)
注意:
abstract不能修饰私有、静态方法、final方法;