abstract关键字
此时这个类称为抽象类,这个方法称为抽象方法
抽象类概念 在面向对象的概念中,所有的对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类不是一个具体的类,所以不能实例化。
当一个普通类继承了一个抽象类之后,一定要重写抽象类中的抽象方法。否则报错:
重写抽象方法:
抽象类中也可以有普通类中的成员和方法:
相反:如果一个抽象类C继承和一个抽象类B,此时则可以不重写抽象类B的抽象方法。
不管怎么样,只要其他类再次继承,就需要重写所有继承的方法。
抽象类最大的意义就是为了被继承。
final和abstract不能共存,抽象方法也不可以由static修饰或者private修饰
抽象方法没有加任何访问限定符时,默认是public
抽象类不一定包含抽象方法。抽象类中可以有构造方法,供子类创建对象时,初始化父类的成员变量。
抽象类本身不能被实例化,要想使用,只能创建该抽象类的子类,然后让子类重写抽象类中的抽象方法