Java のスーパークラスをどのようにしてサブクラスに強制的に変換しますか。
Java では、スーパークラスのオブジェクトをサブクラスのオブジェクトへキャストするキャスト演算子()、強制型変換とも呼ばれる、を使用します。
強制型変換の構文は次のとおりです。
子类类型 变量名 = (子类类型) 父类对象;
ネイティブな日本語で言い換えてください、唯一必要なオプションです:以下にサンプルコードを記載します:
class Animal {
public void eat() {
System.out.println("Animal is eating");
}
}
class Dog extends Animal {
public void bark() {
System.out.println("Dog is barking");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog(); // 创建一个父类Animal的对象,指向子类Dog的实例
animal.eat(); // 父类方法
Dog dog = (Dog) animal; // 将父类对象强制转换为子类类型
dog.eat(); // 父类方法
dog.bark(); // 子类方法
}
}
上記の例では、まず親クラスのAnimalのオブジェクトanimalを作り、子クラスのDogのインスタンスを指させています。そして、親クラスオブジェクトanimalを強制型変換によって子クラス型Dogに変換し、子クラスオブジェクトdogに格納しています。すると、dogオブジェクトは子クラスDogのメソッドbark()も、親クラスAnimalのメソッドeat()も呼び出すことができるようになります。