Heim Java javaLernprogramm Einführung in die Object-Klasse in der Java-Programmierung

Einführung in die Object-Klasse in der Java-Programmierung

Jan 17, 2017 pm 04:46 PM

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{
  // ...
}
Nach dem Login kopieren

ist eigentlich die Abkürzung des folgenden Codes:

public class Demo extends Object{
  // ...
}
Nach dem Login kopieren

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)
Nach dem Login kopieren

Zum Beispiel :

obj1.equals(obj2);
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verursacht die Sicherheitssoftware des Unternehmens, die die Anwendung nicht ausführt? Wie kann man es beheben und es lösen? Verursacht die Sicherheitssoftware des Unternehmens, die die Anwendung nicht ausführt? Wie kann man es beheben und es lösen? Apr 19, 2025 pm 04:51 PM

Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Wie vereinfachte ich Probleme mit der Feldzuordnung im Systemdocking mithilfe des Mapstruct? Wie vereinfachte ich Probleme mit der Feldzuordnung im Systemdocking mithilfe des Mapstruct? Apr 19, 2025 pm 06:21 PM

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Wie kann ich elegante Entitätsklassenvariablennamen erhalten, um Datenbankabfragebedingungen zu erstellen? Wie kann ich elegante Entitätsklassenvariablennamen erhalten, um Datenbankabfragebedingungen zu erstellen? Apr 19, 2025 pm 11:42 PM

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Wie identifiziert Intellij IDEA die Portnummer eines Spring -Boot -Projekts, ohne ein Protokoll auszugeben? Wie identifiziert Intellij IDEA die Portnummer eines Spring -Boot -Projekts, ohne ein Protokoll auszugeben? Apr 19, 2025 pm 11:45 PM

Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Wie konvertiere ich Namen in Zahlen, um die Sortierung zu implementieren und die Konsistenz in Gruppen aufrechtzuerhalten? Wie konvertiere ich Namen in Zahlen, um die Sortierung zu implementieren und die Konsistenz in Gruppen aufrechtzuerhalten? Apr 19, 2025 pm 11:30 PM

Lösungen zum Umwandeln von Namen in Zahlen zur Implementierung der Sortierung in vielen Anwendungsszenarien müssen Benutzer möglicherweise in Gruppen sortieren, insbesondere in einem ...

Wie kann ich elegant den variablen Entitätsklassennamen erstellen, wenn Tkmybatis für Datenbankabfrage verwendet werden? Wie kann ich elegant den variablen Entitätsklassennamen erstellen, wenn Tkmybatis für Datenbankabfrage verwendet werden? Apr 19, 2025 pm 09:51 PM

Wenn Sie TKMybatis für Datenbankabfragen verwenden, ist das Aufbau von Abfragebedingungen ein häufiges Problem. Dieser Artikel wird ...

Wie kann ich Java -Objekte sicher in Arrays umwandeln? Wie kann ich Java -Objekte sicher in Arrays umwandeln? Apr 19, 2025 pm 11:33 PM

Konvertierung von Java-Objekten und -Arrays: Eingehende Diskussion der Risiken und korrekten Methoden zur Konvertierung des Guss-Typs Viele Java-Anfänger werden auf die Umwandlung eines Objekts in ein Array stoßen ...

E-Commerce-Plattform SKU und SPU-Datenbankdesign: Wie berücksichtigen Sie sowohl benutzerdefinierte Attribute als auch Attributloses Produkte? E-Commerce-Plattform SKU und SPU-Datenbankdesign: Wie berücksichtigen Sie sowohl benutzerdefinierte Attribute als auch Attributloses Produkte? Apr 19, 2025 pm 11:27 PM

Detaillierte Erläuterung des Designs von SKU- und SPU-Tabellen auf E-Commerce-Plattformen In diesem Artikel werden die Datenbankdesignprobleme von SKU und SPU in E-Commerce-Plattformen erörtert, insbesondere wie man mit benutzerdefinierten Verkäufen umgeht ...

See all articles