Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » toString() » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
Björn

Super, danke dir für die Info.
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
code:
1:
System.out.println(multi);

dann wird automatisch toString() aufgerufen.
Björn

Erst einmal danke für deine Antwort. Allerdings dachte ich immer, dass die toString - Methode genau System.out.println() ersetzen sollte?
eulerscheZahl

versuche mal
code:
1:
System.out.println(multi.toString());
Björn

Ich schließe mich diesem Thema auch einmal an (bin gerade dabei, die toString() Methode zu entdecken).

Die main - Funktion:

code:
1:
2:
3:
4:
5:
6:
package javatostring;  
public class JavatoString  
{    
 public static void main(String[] args)     
{         Multiplikation multi = new Multiplikation ();         
multi.toString();     } }


Die Methode (soll einfach den Text ausgeben)

code:
1:
2:
3:
4:
5:
6:
7:
package javatostring;  
public class Multiplikation  
{     
public String toString()     
{         
String name = "Test";        
return name;       }    }



Warum bekomme ich denn keine Ausgabe (also Test) angezeigt?


Vielen Dank
Erstsemester

Vielen Dank :-)
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
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? )
Karlito

Kleine Zusatzinfo: Bei der Verwendung von System.out.println() wird implizit toString() aufgerufen.

code:
1:
2:
3:
4:
Mensch m = new Mensch();
System.out.println(m);


gibt also m.toString() auf der Konsole aus.

Gleiches passiert beim impliziten Cast:

code:
1:
2:
3:
4:
Mensch m = new Mensch();
String s = "Mensch: " + m;


Hier wird auch m.toString() aufgerufen um m an einen String zu konkatenieren. Der Ausdruck ist also äquivalent zu:
code:
1:
2:
3:
4:
Mensch m = new Mensch();
String s = "Mensch: " + m.toString();


Gruß,

Karlito
Erstsemester

Danke dir :-)
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.