java学習初学者です。
現在サブクラスであるHeroクラスに、スーパークラスであるCharacterクラスを継承して、
Heroクラスのnameに”冒険者A”を代入したいのですが、
実行をすると「明示的にコンストラクターを呼び出して下さい」と出ます。
自分なりにHeroクラスにsuper(int hp, int power, int endurance);としてみたり、
色々と試行錯誤してみましたがどこが、結局どういったコンストラクターを明示的に呼び出せば良いのか分かりませんでした。
初歩的な内容で申し訳ありませんが、何卒お力添えの程よろしくお願いいたします。
**[① Mainクラス]** import common.Hero; public class Main { //●HP, POWER, ENDURANCEはそれぞれ、(25, 10, 7) public static void main(String[] args) { Hero hero = new Hero(); hero.setName("冒険者A"); // Heroインスタンスのキャラクター情報を表示 System.out.println(hero.getName()); System.out.println(hero.getHp()); System.out.println(hero.getPower()); System.out.println(hero.getEndurance()); } } **[② Heroクラス]** package common; public class Hero extends Character { Hero(){ //super(int hp, int power, int endurance); } } **[③ Characterクラス]** package common; /** * 登場するキャラクターの情報とデフォルトの行動を設定したクラスです * @author rhizome * */ public class Character { private String name = "キャラクター"; private int hp; private int power; private int endurance; public Character(int hp, int power, int endurance) { this.setHp(hp); this.setPower(power); this.setEndurance(endurance); } public void setName(String name) { this.name = name; } public String getName() { return this.name; }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/06 00:13