Java基础教程:抽象类Abstract Classes
抽象类
Abstract类是一个abstract
以前缀为关键字的类。如果类abstract
具有一个或多个带有abstract关键字的方法,则必须以类为前缀。仅声明抽象方法但未实现。抽象类不能实例化,但可以由另一个类继承。继承类必须实现所有抽象方法,否则子类也应该声明为abstract。
例如:
abstract class abstractClass { abstract void abstractMethod(); void concreteMethod() { // concrete methods are still allowed in abstract classes System.out.println("This is a concrete method."); } }
抽象类与接口
抽象类可以包含不属于域final
和static
,并且可以包含实现的方法很好,但接口不能。仅使用抽象方法的抽象类应定义为接口。
当抽象类实现接口时,不需要实现所有接口方法,如果该类不是抽象的,则应实现所有接口方法。
例如:
abstract class X implements Y {// implements all but one method of Y}class XX extends X {// implements the remaining method in Y}
抽象类可以包含static
字段和static
方法,并且可以使用普通类。