toString() |
26.01.2015, 19:59 | Auf diesen Beitrag antworten » | |||||||||||||||
Erstsemester | toString() Meine Frage: Hey :-) Ich frage mich gerade, wie das genau mit der toString() - Ausgabe funktionieren soll? Meine Ideen: Vielen Dank |
|||||||||||||||
|
||||||||||||||||
26.01.2015, 20:06 | Auf diesen Beitrag antworten » | |||||||||||||||
eulerscheZahl | toString() wird in Object definiert, von dem ja alles erbt. Im Object werden nur Klassenname und Speicheradresse zurückgegeben, aber da man die Funktion überschreiben kann, liefert die Funktion immer sinnvolle Ergebnisse, wenn der Programmierer nicht zu faul war. |
|||||||||||||||
26.01.2015, 20:25 | Auf diesen Beitrag antworten » | |||||||||||||||
Erstsemester | Mache ich dann einfach ein Objekt von einer Klasse? Sprich: Mensch h = new Mensch (); h.toString(); |
|||||||||||||||
26.01.2015, 20:27 | Auf diesen Beitrag antworten » | |||||||||||||||
eulerscheZahl | Ja, das würde gehen. Je nachdem, ob toString() überladen wurde, kann die Ausgabe variieren. |
|||||||||||||||
Anzeige | ||||||||||||||||
|
||||||||||||||||
26.01.2015, 20:31 | Auf diesen Beitrag antworten » | |||||||||||||||
Erstsemester | Wo würde ich denn hier jetzt mein toString einbauen?
|
|||||||||||||||
26.01.2015, 20:33 | Auf diesen Beitrag antworten » | |||||||||||||||
eulerscheZahl |
|
|||||||||||||||
26.01.2015, 20:39 | Auf diesen Beitrag antworten » | |||||||||||||||
Erstsemester | Danke dir :-) |
|||||||||||||||
26.01.2015, 21:22 | Auf diesen Beitrag antworten » | |||||||||||||||
Karlito | Kleine Zusatzinfo: Bei der Verwendung von System.out.println() wird implizit toString() aufgerufen.
gibt also m.toString() auf der Konsole aus. Gleiches passiert beim impliziten Cast:
Hier wird auch m.toString() aufgerufen um m an einen String zu konkatenieren. Der Ausdruck ist also äquivalent zu:
Gruß, Karlito |
|||||||||||||||
26.01.2015, 21:26 | Auf diesen Beitrag antworten » | |||||||||||||||
Erstsemester | Aber warum benutzt man dann toString() und nicht die ganz normale System.out.println () - Funktion? (Ich wage mal einen Ansatz: Bei System.out.println muss ich ja jeden Befehl einzeln eingeben (name, adresse, usw. --> während toString() die ganzen Daten auf einmal zieht? ) |
|||||||||||||||
26.01.2015, 22:05 | Auf diesen Beitrag antworten » | |||||||||||||||
Karlito | Weil man nicht unbedingt immer auf die Konsole printen möchte. Man kann ja die Rückgabe auch anderweitig verwenden, z.B. in einer graphischen Oberfläche oder zum debuggen. Weiterhin so ist auch ein einheitlicher Zugriff möglich. Und außerdem kann so der Programmierer der toString Methode entscheiden, was ausgegeben werden soll und wie es ausgegeben werden soll. Gruß, Karlito |
|||||||||||||||
27.01.2015, 07:57 | Auf diesen Beitrag antworten » | |||||||||||||||
Erstsemester | Vielen Dank :-) |
|||||||||||||||
13.05.2015, 13:44 | Auf diesen Beitrag antworten » | |||||||||||||||
Björn | Ich schließe mich diesem Thema auch einmal an (bin gerade dabei, die toString() Methode zu entdecken). Die main - Funktion:
Die Methode (soll einfach den Text ausgeben)
Warum bekomme ich denn keine Ausgabe (also Test) angezeigt? Vielen Dank |
|||||||||||||||
13.05.2015, 13:50 | Auf diesen Beitrag antworten » | |||||||||||||||
eulerscheZahl | versuche mal
|
|||||||||||||||
13.05.2015, 13:58 | Auf diesen Beitrag antworten » | |||||||||||||||
Björn | Erst einmal danke für deine Antwort. Allerdings dachte ich immer, dass die toString - Methode genau System.out.println() ersetzen sollte? |
|||||||||||||||
13.05.2015, 14:02 | Auf diesen Beitrag antworten » | |||||||||||||||
eulerscheZahl | Nein, toString() wandelt nur in einen String um. Ob du den jetzt auf die Console pinselst, in eine Datei schreibst und über eine MessageBox ausgibst, entscheidest du. Wenn du toString() überschreibst, kannst du es teilweise auch implizit verwenden, das heißt du musst es nicht extra schreiben. Du könntest auch einfach schreiben
dann wird automatisch toString() aufgerufen. |
|||||||||||||||
13.05.2015, 14:05 | Auf diesen Beitrag antworten » | |||||||||||||||
Björn | Super, danke dir für die Info. |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |