abstract 关键字可以修饰类或方法。
abstract 类可以扩展(增加子类),但不能直接实例化。
abstract 方法不在声明它的类中实现,但必须在某个子类中重写。
示例
public abstract class MyClass
{
}
public abstract String myMethod();
注释
- 采用 abstract 方法的类本来就是抽象类,并且必须声明为 abstract。
- abstract 类不能实例化。
- 仅当 abstract 类的子类实现其超类的所有 abstract 方法时,才能实例化 abstract 类的子类。这种类称为具体类,以区别于 abstract 类。
- 如果 abstract 类的子类没有实现其超类的所有 abstract 方法,该子类也是 abstract 类。
- abstract 关键字不能应用于 static、private 或 final 方法,因为这些方法不能被重写,因此,不能在子类中实现。
- final 类的方法都不能是 abstract,因为 final 类不能有子类。