Когда я печатаю свои объекты, вид объекта отображается как ноль вместо того, чтобы сказать вид (пример должен сказать balrog) - PullRequest
0 голосов
/ 10 октября 2019

Мне нужно, чтобы появилось название, название вида, точки попадания и сила. Все печатает, кроме названия вида, которое печатается как ноль. Есть идеи, почему?

это в моем основном классе

if (species.equals("b") || species.equals("B")) {
    Creature balrog = new Creature(name, strength, hit);
    players.add(balrog);
    System.out.println("Current Players: ");
    System.out.println("NAME | SPECIES | STRENGTH | HIT POINTS");
    for (int i = 0; i < players.size(); i++) {
        System.out.println(players.get(i).toString());
    }
}

это в моем классе Существ, который будет печатать все

public String toString() {
    String result = name;
    result += " | ";
    result += species;
    result += " | ";
    result += strength;
    result += " | ";
    result += hitPoints;
    result += "\n";
    return result;
}

Тогда, наконец,Класс Balrog, подкласс существа

Balrog(String name, int strength, int hit){
    super(name,strength,hit);
}//ends Balrog constructor

String getSpecies(){
    return "Balrog";
}

Нет сообщений об ошибках, просто выводится ноль, где должно быть название вида.

1 Ответ

0 голосов
/ 10 октября 2019

Вы создаете экземпляр суперкласса вместо подкласса

Creature balrog = new Creature(name, strength, hit);

должно быть

Creature balrog = new Balrog(name, strength, hit);

Вам также необходимо получить виды подкласса вtoString

public String toString() {
    String result = name;
    result += " | ";
    result += getSpecies();
    result += " | ";
    result += strength;
    result += " | ";
    result += hitPoints;
    result += "\n";
    return result;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...