Quantcast
Channel: 質問!ITmedia 新着質問(Java/253)
Viewing all articles
Browse latest Browse all 2439

インタフェースについて教えてください。

$
0
0
インタフェースについて。 人間と犬を生成し、実行例のように動作するプログラムです。 (1)から(15)の後が解答欄です。 例:(2)の場合implementsが解答欄(空欄) コンパイルができなかったのでどこの解答が間違っているか教えてください。 エラー詳細↓ Behave.java:6: エラー: シンボルを見つけられません h1.play(h1.behaviortype.Walking); ^ シンボル: メソッド play(Behaviortype) 場所: タイプHumanの変数 h1 Behave.java:7: エラー: シンボルを見つけられません d1.play(d1.behaviortype.Walking); ^ シンボル: メソッド play(Behaviortype) 場所: タイプDogの変数 d1 Behave.java:8: エラー: シンボルを見つけられません h1.play(h1.behaviortype.Talking); ^ シンボル: メソッド play(Behaviortype) 場所: タイプHumanの変数 h1 Behave.java:9: エラー: シンボルを見つけられません d1.play(d1.behaviortype.Barking); ^ シンボル: メソッド play(Behaviortype) 場所: タイプDogの変数 d1 エラー4個 【Behave】 class Behave{ public static void main(String[] args){ Human h1 = new Human("人間1"); Dog d1 = new Dog("犬1"); h1.play(h1.behaviortype.Walking); d1.play(d1.behaviortype.Walking); h1.play(h1.behaviortype.Talking); d1.play(d1.behaviortype.Barking); } } 【Animal】 abstract class Animal{ String name; Behaviortype behaviortype; enum Behaviortype{ Walking, Talking, Barking } abstract public void behave(Behaviortype bt); } 【Human】 class Human (1)extends Animal (2)implements Walker, Talker{ public Human(String n){ this.name = n; } @Override public void behave(Behaviortype bt){ switch(bt){ case Walking: (3)walk(); break; case Talking: (4)talk(); break; } } @Override public void (5)walk(){ System.out.println(this.name+"が歩きます。"); } @Override public void (6)talk(){ System.out.println(this.name+"が話します。"); } } 【Walker】 (7)interface Walker{ void walk(); } 【Talker】 (8)interface Talker{ void talk(); } 【Barker】 (9)interface Barker{ void bark(); } 【Dog】 class Dog (10)extends Animal (11)implements Walker, Barker{ public Dog(String n){ this.name = n; } @Override public void behave(Behaviortype bt){ switch(bt){ case Walking: (12)walk(); break; case Barking: (13)bark(); break; } } @Override public void (14)walk(){ System.out.println(this.name+"が歩きます。"); } @Override public void (15)bark(){ System.out.println(this.name+"が吠えます。"); } } 【実行例】java Behave 人間1が歩きます。 犬1が歩きます。 人間1が話します。 犬1が吠えます。

Viewing all articles
Browse latest Browse all 2439

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>