Java抽象クラスのインスタンス化方法
抽象クラスは不完全なクラスの一種で、実装されない抽象メソッドを含む可能性があるため、Javaでは直接インスタンス化することはできません。そのため、抽象クラスを使用してオブジェクトを直接作成することはできません。ただし、抽象クラスのサブクラスを作成することで、抽象クラスをインスタンス化できます。サブクラスは、インスタンス化される前に抽象クラスのすべての抽象メソッドを実装する必要があります。
例えば抽象クラスの Animal があり、抽象メソッド eat() があるとする場合は
abstract class Animal {
public abstract void eat();
}
AnimalのサブクラスであるDogを作成し、eat()メソッドを実装することができます。
class Dog extends Animal {
public void eat() {
System.out.println("狗吃骨头");
}
}
次に、抽象クラスAnimalをサブクラスDogを使ってインスタンス化できます。
Animal animal = new Dog();
animal.eat(); // 输出:狗吃骨头
抽象クラスを間接的にインスタンス化することができます。