carookee - group communication for you
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





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.919 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 204 von 2212 (9%) |<   <   >   >|

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