Heim  >  Artikel  >  Java  >  Java-Basisobjektklasse

Java-Basisobjektklasse

高洛峰
高洛峰Original
2017-01-17 17:02:281066Durchsuche

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. Zum Beispiel:

public class Demo{
  // ...
}

ist eigentlich die Kurzform des folgenden Codes:

public class Demo extends Object{
  // ...
}

In Java gibt es nur primitive Typen keine Objekte Numerische Werte, Zeichenwerte und boolesche Werte sind beispielsweise keine 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 equal(Object obj)
Zum Beispiel:

obj1.equals(obj2);

In Java besteht die grundlegende Bedeutung von 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, und „==" kann Referenztypen und Basistypen vergleichen.
•Beim Vergleich mit der Methode equal() werden für die Klassen File, String, Date und Wrapper die Typen und Inhalte verglichen, ohne zu berücksichtigen, ob sich die Verweise auf dieselbe Instanz beziehen.
•Beim Vergleich mit „==“ müssen die Datentypen auf beiden Seiten des Symbols konsistent sein (mit Ausnahme der Datentypen, die automatisch konvertiert werden können), da sonst ein Kompilierungsfehler auftritt Die Methode „equals“ muss nur ein Referenztyp 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 lauten die Regeln für hashCode wie folgt:

• Während der Ausführung derselben Anwendung muss der Aufruf von hashCode() für dasselbe Objekt dasselbe ganzzahlige Ergebnis zurückgeben – – Voraussetzung ist, dass keine der von equal() verglichenen Informationen geändert wurde. 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 String-Darstellung des Objekts. Die Syntax ist:
public String toString(. )
Der Rückgabewert ist vom Typ String und wird zur Beschreibung relevanter Informationen des aktuellen Objekts verwendet. 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.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er Ihnen gefällt.

Für weitere Artikel zur Object-Klasse, die auf Java basieren, achten Sie bitte auf PHP Chinesische Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn