Java抽象类

  包含一个或者多个抽象方法的类本身必须被声明为抽象的。抽象方法需要使用abstract关键字,不需要实现抽象类中抽象方法的内容,为了提高程序的清晰可读性,包含抽象方法的类本身必须被声明为abstract的。当然,抽象类也可以包含具体数据和具体方法。

  扩展抽象类可以有两种选择,一是在子类中的抽象方法也不实现,这样就必须将子类标记为抽象类,二是定义或者说实现全部抽象方法,这样,子类就不是抽象方法了。

  注意,类不含抽象方法也可以声明为抽象类,抽象类不能被实例化,当然可以定义一个抽象类的变量,引用非抽象子类的对象,例如:

1
Person p = new Student("John");

  这里,Person是抽象类,Student是Person的非抽象子类。