java abstract关键字
用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。
-
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
-
抽象类不能实例化。
-
抽象方法只需声明,而不需实现。
-
子类继承抽象父类,子类本身也可以定义为抽象类,让它的子类再去继承重写。
// 含有抽象方法的类必须声明为抽象类
// 抽象类不能被实例化
abstract class Insect {
public abstract void fly(); // 抽象方法只需声明,不需具体实现
}
class Bee extends Insect {
public void fly() {
System.out.println("bee is flying!"); // 重写继承的抽象类的抽象方法
}
}
// 再声明一个抽象类继承抽象类
abstract class Ant extends Insect {
public abstract void fly();
}