例如,我们可以将动物类定义为抽象类:
abstract class Animal { int legs = 0; abstract void makeSound(); }
makeSound方法也是抽象的,因为它在超类中没有实现。
我们可以从Animal类继承并为子类定义makeSound()方法:
class Cat extends Animal { public void makeSound() { System.out.println("喵喵"); } }
每个动物都会发出声音,但每个动物都有不同的方法。这就是为什么我们定义了一个抽象类Animal,并将它们如何发出声音的实现留给子类。 当超类中的方法没有有意义的定义时,使用此选项。