Java 允许类,借口或成员方法具有抽象属性。
- abstract 修饰的类叫做抽象类,该类不能被实例化。
- abstract 修饰的方法叫抽象方法,抽象方法只有声明部分,没有具体的方法体。
- 接口总是具有抽象属性,不管在定义接口的修饰词列表中有没有abstract ,该接口都具有抽象属性。
规则:
- 如果一个非抽象类是一个abstract 类的子类,它必须具体实现父类所有的 abstract 方法。
- 如果一个类中含有抽象方法,那么这个类必须用 abstract 修饰(abstract 类可以没有abstract方法,但是abstract方法必须在abstract类中)。
- 一个abstract 类最后关心他的子类是否具有某种功能,并不关心功能的具体行为,功能的具体行为由子类负责实现。
public abstract class Mammal{ public String limbsName = "Leg"; public abstract void run(); } public Whale extends Mammal{ public String limbsName = "Fin"; public void run(){ System.out.println(limbsName + "swimming.") } }