Java
1abstract class Animal { 2 abstract public void speak(); 3} 4
Java
1public class Cat extends Animal { 2 @Override 3 public void speak() { 4 System.out.println("123"); 5 } 6 7 public void say() { 8 System.out.println("say"); 9 } 10} 11
Java
1public class Main { 2 public static void main(String[] args) { 3 Animal cat = new Cat(); 4 cat.speak(); 5 cat.say(); // <- エラー 6 } 7} 8
上記のようにAbstractクラスからCatというクラスを作ってCatクラスオリジナルのメソッドを作った場合、Animal cat = new Cat();
のようにCatクラスをインスタンス化させるとsay()
メソッドがキャストをしない限り呼べません。
もし、複数のクラスがAnimalを継承しつつ、各クラスでオリジナルメソッドを作った場合は毎回オリジナルメソッドを呼ぶたびにキャストしなければいけないのですか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。