2016-01-22 3 views
0

Я пытаюсь напечатать отдельные объекты в классе игроков (производительность, травма и имя) и в основном классе. Я пытаюсь распечатать весь объект игрока, однако, когда я пытаюсь выполнить нанизывать(); метод на обоих классах, я просто получаю игрока @ 2eb3998c или Main @ 37e6e526. Где я иду не так?Пытается напечатать объект через toString()

Спасибо за любую помощь.

Класс игрока:

package com.laurens; 

/** 
* Created by laurensvanoorschot on 20-01-16. 
*/ 
public class player { 
private String name; 
private int performance; 
private boolean injured; 

    public player(int performance, boolean injured, String name) { 
    this.injured = injured; 
    this.name = name; 
    this.performance = performance; 
} 

public boolean isInjured() { 
    return injured; 
} 

public void setInjured(boolean injured) { 
    this.injured = injured; 
} 

public String getName() { 
    return name; 
} 

public void setName(String name) { 
    this.name = name; 
} 

public int getPerformance() { 
    return performance; 
} 

public void setPerformance(int performance) { 
    this.performance = performance; 
} 

@Override 
public String toString() { 
    return "com.laurens.player{" + 
      "injured=" + injured + 
      ", name='" + name + '\'' + 
      ", performance=" + performance + 
      '}'; 
} 
} 

главный класс:

package com.laurens; 
    public class Main { 
    private player player; 
    public static void main(String[] args) { 
    player player = new player (4, true, "laurens"); 
    player.toString(); 
} 


public com.laurens.player getPlayer() { 
    return player; 
} 

@Override 
public String toString() { 
    return super.toString(); 
} 

public void setPlayer (int performance, String name) { 
    if (performance < 4) { 

     boolean injured = true; 


    } 



} 
} 
+1

Вы должны действительно назвать свои классы с прописной буквы в начале, так что это будет в этом случае «Игрок». Делает это намного проще, когда вы вызываете статический метод для класса vs метод экземпляра объекта ... – JonK

+0

'Main' просто сломался и выглядит как copypasta. – chrylis

+0

Да, спасибо за вашу помощь. –

ответ

1

Скорее всего, вы просто забыли перекомпилировать классы; ваш код Player в порядке (и у вас есть ошибки в вашем классе Main, о котором вы не знаете, что не предполагает перекомпиляции). Тем не менее, в вашем опубликованном коде нет ничего, что на самом деле печатает что-нибудь. System.out.println (на самом деле, любые PrintWriter методы печати) будет автоматически вызывать toString() на объекте, так что нет никакой необходимости, чтобы сделать это самостоятельно, просто

System.out.println(player); 
+0

Как вы представляли сегмент серого заднего фона только по тексту «System.out.println()»? – Perdomoff

+1

@ Perdomoff Backticks. Если вы хотите посмотреть, как выполняется форматирование, вы можете щелкнуть ссылку редактирования и посмотреть источник Markdown. – chrylis

+0

Понял, спасибо. – Perdomoff

0

Использование

System.out.println(player.toString()); 
0

toString() возвращает строку/текстовое представление объекта. How to use the toString method in Java?

Явный вызов печати, отображает ваши свойства тонких:

System.out.println(player.toString()); 

, а также:

System.out.println(player); 
Смежные вопросы