Die Object-Klasse befindet sich im Paket java.lang und ist der Vorfahre aller Java-Klassen. Jede Klasse in Java geht davon aus.
Wenn die übergeordnete Klasse beim Definieren einer Java-Klasse nicht explizit angegeben wird, erbt sie standardmäßig die Object-Klasse. Beispiel:
public class Demo{ // ... }
ist eigentlich die Abkürzung des folgenden Codes:
public class Demo extends Object{ // ... }
In Java sind nur Grundtypen keine Objekte, wie z. B. numerische Werte, Zeichen und boolesche Werte . Objekte, alle Array-Typen, ob Objekt-Arrays oder Basistyp-Arrays, erben von der Object-Klasse.
Die Object-Klasse definiert einige nützliche Methoden. Da es sich um eine Stammklasse handelt, sind diese Methoden normalerweise überladen oder überschrieben, um ihre jeweiligen spezifischen Funktionen zu implementieren.
equals()-Methode
Die equal()-Methode in der Object-Klasse wird verwendet, um zu erkennen, ob ein Objekt einem anderen Objekt entspricht. Die Syntax lautet:
public boolean equals(Object obj)
Zum Beispiel :
obj1.equals(obj2);
In Java besteht die grundlegende Bedeutung der Datengleichheit darin, dass die Werte zweier Daten gleich sind. Beim Vergleich über equal() und „==“ werden die Referenztypdaten mit der Referenz, also der Speicheradresse, und der Basisdatentyp mit dem Wert verglichen.
Hinweis:
Die Methode equal() kann nur Referenztypen vergleichen, „==" kann Referenztypen und Basistypen vergleichen.
Beim Vergleich mit der Methode equal() werden für die Klassen File, String, Date und Wrapper der Typ und der Inhalt verglichen, ohne zu berücksichtigen, ob die referenzierten Instanzen gleich sind.
Beim Vergleich mit „==“ müssen die Datentypen auf beiden Seiten des Symbols konsistent sein (außer bei automatisch konvertierten Datentypen), sonst tritt ein Kompilierungsfehler auf. Allerdings werden die beiden Daten nur mit der Methode „equals“ verglichen müssen Referenztypen sein.
hashCode()-Methode
Hash-Code (hashCode) ist ein Wert, der von einem Objekt gemäß einem bestimmten Algorithmus erhalten wird. Für Hash-Codes gibt es keine Regeln. Wenn x und y unterschiedliche Objekte sind, sind x.hashCode() und y.hashCode() grundsätzlich nicht gleich.
Die Methode hashCode() wird hauptsächlich zum Implementieren einer Schnellsuche und anderer Vorgänge in Sammlungen verwendet und kann auch für den Objektvergleich verwendet werden.
In Java gelten folgende Regeln für hashCode:
Während der Ausführung derselben Anwendung muss der Aufruf von hashCode() für dasselbe Objekt dasselbe ganzzahlige Ergebnis zurückgeben – vorausgesetzt, equal() Keines davon Die verglichenen Informationen wurden geändert. Was die Aufrufergebnisse betrifft, die von derselben Anwendung in unterschiedlichen Ausführungsperioden erzielt werden, besteht keine Notwendigkeit, konsistent zu sein.
Wenn zwei Objekte von der Methode equal() als gleich betrachtet werden, muss der Aufruf von hashCode() für beide Objekte das gleiche ganzzahlige Ergebnis liefern.
Wenn zwei Objekte von der Methode equal() als ungleich betrachtet werden, muss der Aufruf von hashCode() für die beiden Objekte nicht zu unterschiedlichen ganzzahligen Ergebnissen führen. Programmierer sollten sich jedoch darüber im Klaren sein, dass die Erzeugung unterschiedlicher ganzzahliger Ergebnisse für verschiedene Objekte die Effizienz von hashTable verbessern kann (Sie werden später mehr darüber erfahren, eine Klasse im Collections-Framework).
Einfach ausgedrückt: Wenn zwei Objekte gleich sind, müssen ihre HashCode-Werte gleich sein; wenn die HashCode-Werte zweier Objekte gleich sind, sind sie nicht unbedingt gleich. Gemäß der Java-Spezifikation sollte das Überschreiben der Methode equal() im Allgemeinen auch die Methode hashCode() überschreiben.
toString()-Methode
toString()-Methode ist eine weitere wichtige Methode, die in der Object-Klasse definiert ist. Sie ist die Zeichenfolgendarstellung des Objekts. Die Syntax lautet:
public String toString()
Return value Es handelt sich um einen String-Typ, der zur Beschreibung von Informationen über das aktuelle Objekt verwendet wird. Die in der Object-Klasse implementierte toString () -Methode gibt die Typ- und Speicheradressinformationen des aktuellen Objekts zurück, wurde jedoch in einigen Unterklassen (z. B. String, Date usw.) umgeschrieben und kann auch benutzerdefiniert umgeschrieben werden Geben Sie nach Bedarf die toString()-Methode ein, um weitere anwendbare Informationen zurückzugeben.
Zusätzlich zum expliziten Aufruf der toString()-Methode des Objekts wird die toString()-Methode automatisch aufgerufen, wenn String mit anderen Datentypen verbunden wird.
Die oben genannten Methoden werden häufig in Java verwendet. Hier ist nur eine kurze Einführung, um alle über die Object-Klasse und andere Klassen zu informieren. Eine detaillierte Beschreibung finden Sie in der Java-API-Dokumentation.
Weitere Artikel zur Object-Klasse in der Java-Programmierung finden Sie auf der chinesischen PHP-Website!