6.4.2 抽象方法

6.4.2 抽象方法

作为类方法修饰符,abstract则声明了一种仅有方法头,而没有具体的方法体和操作实现的抽象方法。

可见,abstract方法只有方法头的声明,而用一个分号来代替方法体的定义,至于方法体的具体实现,那是由当前类的不同子类在它们各自的类定义中完成的。

用关键字abstract来说明抽象方法,如:

abstract void aaa() //合法,aaa为抽象方法

需要特别注意的是,所有的抽象方法,都必须存在于抽象类之中。构造方法不能声明为抽象的。方法声明中static和abstract不能同时存在。

除了抽象方法,抽象类也可以有具体的数据和方法。例如,Person类存储人的名字并且用一个具体的方法来返回它。

在Java编程语言中抽象方法是非常重要的概念。在接口里会大量地用到它。

抽象类必须被继承,抽象方法必须被重写。抽象方法只需声明,无需实现。抽象类不能被实例化,抽象类不一定要包含抽象方法。若类中包含了抽象方法,则该类必须被定义为抽象类。