Inhaltsverzeichnis
1. Einführung in die Object-Klasse
2 Überschreiben Sie die toString-Methode, um das Objekt zu drucken
Heim Java javaLernprogramm So verwenden Sie Methoden in der Java-Objektklasse

So verwenden Sie Methoden in der Java-Objektklasse

Apr 18, 2023 pm 06:13 PM
java object

1. Einführung in die Object-Klasse

Object ist eine von Java standardmäßig bereitgestellte Klasse. Mit Ausnahme der Object-Klasse verfügen alle Klassen in Java über Vererbungsbeziehungen. Standardmäßig erbt es die übergeordnete Klasse Object. Das heißt, Objekte aller Klassen können über die Referenz von Object empfangen werden.

Beispiel: Verwenden Sie Object, um Objekte aller Klassen zu empfangen

class Person{}
class Student{}
public class Test {
    public static void main(String[] args) {
        function(new Person());
        function(new Student());
    }
    public static void function(Object obj) {
        System.out.println(obj);
    }
}
//执行结果:
Person@1b6d3586
Student@4554617c
Nach dem Login kopieren

Während der Entwicklung ist die Object-Klasse also der höchste einheitliche Parametertyp. Die Object-Klasse verfügt aber auch über einige klar definierte Methoden. Wie folgt:

So verwenden Sie Methoden in der Java-Objektklasse

Hier sind drei der Methoden: toString()-Methode, equal()-Methode, hashcode()-Methode

2 Überschreiben Sie die toString-Methode, um das Objekt zu drucken

Wenn wir den Inhalt drucken möchten des Objekts, was durch Überschreiben der toString-Methode in der Object-Klasse erreicht werden kann!

Im Folgenden wird erläutert, warum die toString()-Methode überschrieben werden sollte.

Der folgende Code möchte ein Person-Objekt drucken: println-Methodenquellcode hier. Im Quellcode wird die valueOf-Methode in der String-Klasse aufgerufen. Wenn Sie zum Quellcode bei valueOf springen, können Sie feststellen, dass die toString-Methode tatsächlich im Methodenkörper aufgerufen wird Schauen wir uns zu diesem Zeitpunkt die spezifische Implementierung von toString an.

So verwenden Sie Methoden in der Java-ObjektklassegetClass().getName() gibt die Laufzeitklasse (Class) dieses Objekts und den Namen der Entität (Klasse, Schnittstelle, Array-Klasse) zurück , Basistyp oder void), dargestellt durch dieses Klassenobjekt in Form eines Strings

hashCode()-Methode gibt die „Adresse“ zurück

Integer.toHexString(hashCode()) Ruft den Hash-Codewert dieses Objekts ab (int-Typ), und verwendet die Wrapper-Klasse Integer, um den Hash-Code dieses int-Typwerts abzurufen, ihn in eine hexadezimale Ganzzahl ohne Vorzeichen umzuwandeln und die konvertierte hexadezimale Ganzzahl in Form einer Zeichenfolge auszudrückenSo verwenden Sie Methoden in der Java-Objektklasse

Die Ausgabefunktion println wird also durch Aufrufen von toString implementiert auf der untersten Ebene. Wenn Sie das Druckobjekt für den spezifischen Inhalt realisieren möchten, müssen wir nur die toString-Methode in der Object-Klasse nach unseren eigenen Vorstellungen umschreiben

public class Person {
    String name;
    String gender;
    int age;
    public Person(String name, String gender, int age) {
        this.name = name;
        this.gender = gender;
        this.age = age;

    }
    public static void main(String[] args) {
        Person person = new Person("Jim","男", 18);
        System.out.println(person);
    }
}
Nach dem Login kopieren

Ausführungsergebnis:

So verwenden Sie Methoden in der Java-Objektklasse

3 gleicht die Methode aus

Wenn == in Java verglichen wird:

Wenn die linke und rechte Seite von == Basistypvariablen sind, besteht der Vergleich darin, ob die Werte in den Variablen gleich sind

So verwenden Sie Methoden in der Java-ObjektklasseWenn Die linke und rechte Seite von == sind Variablen vom Referenztyp. Der Vergleich besteht darin, ob die Adressen der Referenzvariablen gleich sind

Wenn Sie den Inhalt im Objekt vergleichen möchten, müssen Sie die Methode equal im Objekt neu schreiben, weil Die Equals-Methode vergleicht standardmäßig auch basierend auf der Adresse. Das Folgende ist der Quellcode der Equals-Methode:

  • Objektvergleichscodebeispiel:
  • public class Person {
        String name;
        String gender;
        int age;
    
        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", gender='" + gender + '\'' +
                    ", age=" + age +
                    '}';
        }
    
        public Person(String name, String gender, int age) {
            this.name = name;
            this.gender = gender;
            this.age = age;
    
        }
        public static void main(String[] args) {
            Person person = new Person("xin","男", 21);
            System.out.println(person);
        }
    }
    Nach dem Login kopieren
  • Ausführungsergebnis:

4. HashCode-Methode

Die Hashcode-Methode wird verwendet, um zu bestimmen, ob das Objekt an derselben Stelle im Speicher gespeichert ist So verwenden Sie Methoden in der Java-Objektklasse

Die Funktion von hashCode() in der Hash-Tabelle besteht darin, den Hash-Code des Objekts abzurufen und dann zu bestimmen, ob sich das Objekt in der Hash-Tabelle befindet Standort.

Quellcode der HashCode-Methode:

So verwenden Sie Methoden in der Java-Objektklasse

Diese Methode ist eine native Methode und die unterste Ebene ist in C/C++-Code geschrieben; sie kann im Compiler nicht beobachtet werden.

Wir glauben, dass zwei Objekte mit demselben Namen und demselben Alter dasselbe Objekt sind und am selben Ort gespeichert werden sollten.

Sehen Sie sich den unten angegebenen Code an. Es gibt kein Überschreiben der hashCode()-Methode der beiden Objekte haben den gleichen Inhalt, aber der resultierende Hash-Wert ist unterschiedlich:

class Person{
    private String name ;
    private int age ;
    public Person(String name, int age) {

        this.age = age ;
        this.name = name ;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false ;
        }
        if(this == obj) {
            return true ;
        }
        //不是Person类对象
        if (!(obj instanceof Person)) {
            return false ;
        }
        Person person = (Person) obj ; // 向下转型,比较属性值
        return this.name.equals(person.name) && this.age==person.age ;
    }

}

public class Test {
    public static void main(String[] args) {
        Person p1 = new Person("xin", 20);
        Person p2 = new Person("xin", 20);
        Person p3 = new Person("rong", 21);

        System.out.println(p1.equals(p2));
        System.out.println(p1.equals(p3));

    }
}
Nach dem Login kopieren

Ausführungsergebnis:

So verwenden Sie Methoden in der Java-Objektklasse

Wenn wir also glauben wollen, dass zwei Objekte den gleichen Inhalt haben, sollten ihre Speicherorte gleich sein, und das brauchen wir um die Methode hashCode() neu zu schreiben.

class Person {
    public String name;
    public int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
public class TestDemo4 {
    public static void main(String[] args) {
        Person per1 = new Person("xin", 21) ;
        Person per2 = new Person("xin", 21) ;
        System.out.println(per1.hashCode());
        System.out.println(per2.hashCode());
    }
}
Nach dem Login kopieren
Ausführungsergebnis:

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Methoden in der Java-Objektklasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Leitfaden zur Quadratwurzel in Java. Hier diskutieren wir anhand eines Beispiels und seiner Code-Implementierung, wie Quadratwurzel in Java funktioniert.

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

Leitfaden zur Armstrong-Zahl in Java. Hier besprechen wir eine Einführung in die Armstrong-Zahl in Java zusammen mit einem Teil des Codes.

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

See all articles