Home
/
JavaForum
/
Java allgemein
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
5.007 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 1993 von 2212 (90%)
Autor
Thomas Tasior
Datum
17.01.02, 07:10
Betreff
Re: Was bedeutet das?
Guten Morgen,
Innerhalb von System.out.println(..) wird die Methode toString() aufgerufen.
diese Methode ist in java.lang.Object definiert. Da jede Klasse von Object erbt, erbt sie auch dessen Methode. In Object ist die Methode wie folgt definiert:
public
String
toString() {
return
getClass().getName() +
"@"
+
Integer
.toHexString(hashCode());
}
Erklärung:
Zunächst wird die zugehörige Klasse (der Bauplan eines Objektes) geholt (getClass()). Dann dessen Name erfragt - im Beispiel ist das "WasIstDas
". Würde dein Beispiel im Package test liegen, dann wäre der Name test.WasIstDas. Dann der Klammeraffe angefügt und zum Schluss der int Wert von hashCode() (auch in Object definiert) in einen Hexadezimalstring umgewandelt, was diesen Code ergibt: 73d6a5. Der hashCode seinerseits repräsentiert den Speicherplatz an dem das Objekt liegt (laut Literatur).
Die Methode toString kannst du natürlich überschreiben und was anderes zurückgeben. Sie kann benutzt werden für ein einfaches Debugging, oder für Ausgaben in Userinterfaces. Hier ist darauf zu achten dass der String nicht jedesmal neu berechnet wird um ein zügiges scrollen in einer List beispielsweise nicht zu bremsen. Deshalb ist Java auch so "langsam" :-).
die Methode hashCode kann natürlich auch überschrieben werden. Sie wird u.A. für Vergleiche in Objektcontainern benutzt.
Thomas
Diskussionsverlauf:
Was bedeutet das?
Re: Was bedeutet das?
Re: Was bedeutet das?
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com