Override理解深めたく次の例題をコピペして実行したのですが、ソースにエラーがあり修正してそれでも分からない箇所があり質問いたしました。
overrride例題
https://techacademy.jp/magazine/34029
Lion.Java 29、35、37行目で
Lion.java:35:エラー: nameはAnimalでprivateアクセスされます System.out.print In(" a"+ name + "TŤ, "); です Lion.java:37: エラー: ageはAnimalでprivateアクセスされます System.out.print In( "EAI"+ age + "TŤ, "); です エラー3個 :¥Users¥java¥0verride>javac Lion. java Lion.java:29: エラー: シンボルを見つけられません @override シンボル: クラス override 場所:クラスLion Lion.java:35: エラー: name(はAnimalでprivateアクセスされます System.out.print In(" a"+name+ "T. "); Lion.java:37: エラー: ageはAnimalでprivateアクセスされます System.out.print In( "E "tage+"TF. "); ラー3個 ¥Users¥¥java¥0verride>
などのエラーが出ます。Animalクラスでprivateで2つの変数設定しているのは分かるのですが、これをpublicなどに変換しても良いのでしょうか。回答余裕ある方よければよろしくお願いします。
ちなみに作成し改変したファイルですが、
Animal.Java
//動物クラス class Animal { private String name; private int age; public Animal() { name = ""; age = 0; System.out.println("動物オブジェクトを作成。"); } public void setAnimal(String s, int n) { name = s; age = n; System.out.println("名前を" + name + "、年齢を" + age + "に設定しました。"); } public void introduce() { System.out.println("名前は" + name + "です。"); System.out.println( "年齢は" + age + "です。"); } }
Lion.Java
//ライオンクラス class Lion extends Animal { private double speed; public Lion() { speed = 0.0; System.out.println("ライオンオブジェクトを作成。"); } public void setSpeed(double sp) { speed = sp; System.out.println("スピードを" + speed + "km/hに設定しました。"); } @override public void introduce() { System.out.println("名前は"+name+ "です。"); System.out.println( "年齢は"+age+"です。"); System.out.println("スピードは"+ speed + "km/hです。"); } }
Test.Java
class Test { public static void main(String[] args) { Lion lion1 = new Lion(); lion1.setAnimal("king", 12); lion1.setSpeed(100.5); lion1.introduce(); } }
です。
回答1件
あなたの回答
tips
プレビュー