Java如何创建和实现抽象类?

抽象类是具有已声明但未定义的一个或多个方法的类。抽象类不能有实例。此类用于继承以利用多态性。要声明一个类是抽象的,请在类定义abstract中的class关键字前面使用关键字。

没有定义的抽象类中的方法称为抽象方法。抽象方法的声明以分号结尾,您可以使用abstract关键字指定该方法以标识它。该实现留给子类。

package org.nhooo.example.fundamental;

public abstract class Animal {
    private String species;

    public Animal(String species) {
        this.species = species;
    }

    public abstract void makeASound();

    public String getSpecies() {
        return species;
    }

    public static void main(String[] args) {
        Animal pig = new Pig("Warthog");
        pig.makeASound();
    }
}

Pig 类扩展了 Animal 类。因为 Animal 类包含一个抽象方法 makeASound () ,Pig 类必须实现这个方法,否则 Pig 也将成为一个抽象类。

package org.nhooo.example.fundamental;

public class Pig extends Animal {

    public Pig(String species) {
        super(species);
    }

    @Override
    public void makeASound() {
        System.out.println("oink oink");
    }
}