Object - Array |
| 09.01.2016, 20:41 | Auf diesen Beitrag antworten » | |||||
| Java_Beginner | Object - Array Meine Frage: Hallo zusammen, ich frage mich die ganze Zeit, warum ich bei meinem Code immer nur die Speicheradresse ausgegeben bekomme?
Meine Ideen: Vielen Dank für Eure Hilfe. |
|||||
|
|
||||||
| 10.01.2016, 09:40 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | Du musst in Teller die Funktion toString() überschreiben. |
|||||
| 10.01.2016, 10:10 | Auf diesen Beitrag antworten » | |||||
| Java_Beginner | Vielen Dank für die Antwort. Hier einmal mein neuer, funktionierender Code:
Drei Fragen hätte ich dazu: 1) Wenn ich in der toString() - Methode nur return durchmesser mache bekomme ich einen Fehler (was auch logisch ist, da ich damit ja einen Integerwert zurückgeben würde). Ist es erlaubt hier einfach einen empty-String davorzusetzten? 2) Warum benötige ich in der main-Funktion noch einmal ein System.out.println() um die toString () - Methode auszugeben? Ich dachte immer, dass toString das gleich wie System.out.println() ist? 3) Woher weiß ich, wann die toString()-Funktion verwendet werden muss? Und wie genau funktioniert das mit dem Überschreiben? |
|||||
| 10.01.2016, 13:18 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | 1) Java führt hier einen impliziten Cast durch: String + int = String + (String)int besser wäre String.valueOf(durchmesser) - da ersparst du dir die Stringkonkatenation. 2) toString() gibt nur einen String zurück. Den kannst du dann je nach Lust und Laune auf die Console ausgeben, in eine Textdatei ausgeben, bei GUI in ein Label schreiben, vorlesen lassen, .... Das ist also viel flexibler. 3) du überschreibst toString() dann, wenn du eine textuelle Beschreibung der Instanz haben willst. Da stellt sich die Frage, warum nicht eine Methode print() schreiben. In der main geht auch einfach System.out.println(obj[0]);, der Aufruf von toString() klappt implizit. Das ist bei print() nicht der Fall. und üblicherweise stellt man ein @Override voran, wenn man eine Methode überschreibt. |
|||||
| Anzeige | ||||||
|
|
||||||
| 11.01.2016, 21:49 | Auf diesen Beitrag antworten » | |||||
| Java_Beginner | Vielen Dank für deine Hilfe :-) |
|||||
|
|
Verwandte Themen
| Die Beliebtesten » |
|
| Die Größten » |
|
| Die Neuesten » |
|
