Rumah > Java > javaTutorial > Analisis contoh kaedah kelas Objek Java

Analisis contoh kaedah kelas Objek Java

王林
Lepaskan: 2023-04-18 17:49:05
ke hadapan
1096 orang telah melayarinya

1.kaedah sama

1.Pengenalan kepada kaedah sama dalam API

Analisis contoh kaedah kelas Objek Java

2

    == boleh menentukan kedua-dua jenis asas dan jenis rujukan Jika jenis asas ditentukan, nilai ditentukan sama. Jika jenis rujukan ditentukan, alamat ditentukan sama, itu ialah, Tentukan sama ada ia adalah objek yang sama.
  • Kaedah sama ialah kaedah dalam kelas Objek Ia hanya boleh menentukan jenis rujukan. Selepas menulis semula, ia digunakan Untuk menentukan sama ada kandungan adalah sama
  • Kita boleh melihat kod sumber JDK kaedah sama dalam Objek, Rentetan dan Integer.

Object o = new Object();
o.equals(1);//Object类中的equals方法
System.out.println("hello".equals("hello"));//String中的equals方法
Integer integer = new Integer(5);
System.out.println(integer.equals(5));//Integer中的equals方法
//将光标放在equals方法上,按Ctrl同时按鼠标左键,就可跳转到String和Integer中的equals方法的JDK源码。
Salin selepas log masuk
//Object类中的equals方法
public boolean equals(Object obj) {
        return (this == obj);//判断是不是当前对象
}
Salin selepas log masuk
//String类中重写的equals方法
public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;//首先判断是不是当前对象
        }
        if (anObject instanceof String) {//判断当前类型是不是字符串类型
            String anotherString = (String)anObject;//向下转型
            int n = value.length;//保存传入字符串的长度
            if (n == anotherString.value.length) {
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = 0;
                while (n-- != 0) {
                    if (v1[i] != v2[i])//一个一个字符比较
                        return false;
                    i++;
                }
                return true;
            }
        }
        return false;
    }
Salin selepas log masuk
2.kaedah Kod hash
 //Integer类中重写的equals方法
public boolean equals(Object obj) {
        if (obj instanceof Integer) {//判断当前类型是不是Integer类型
            return value == ((Integer)obj).intValue();//向下转型
        }
        return false;
    }
Salin selepas log masuk

1 Pengenalan kepada kaedah Kod cincang dalam API

Analisis contoh kaedah kelas Objek Java2. Meningkatkan kecekapan bekas dengan struktur cincang.

3. Jika dua rujukan menghala ke objek yang sama, nilai cincang adalah sama.

4. Nilai cincang terutamanya berdasarkan alamat, tetapi nilai cincang tidak boleh disamakan dengan alamat.

kaedah 3.toString

1 Pengenalan kepada kaedah toString dalam API

Analisis contoh kaedah kelas Objek Java2 +nama kelas)+@+heksadesimal nilai cincang.

3. Kaedah toString sering ditindih untuk mengembalikan sifat objek.

4 Apabila objek dikeluarkan secara langsung, kaedah toString akan dipanggil secara lalai.

4. kaedah finalize
//JDK中的toString方法源码
public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    //返回全类名(包名+类名)+@+哈希值的十六进制
    }
//重写toString方法
 @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", gender=" + gender +
                '}';
    }//往往重写toString方法,用于返回对象属性。
Salin selepas log masuk

1 Pengenalan kepada kaedah finalize dalam API

Analisis contoh kaedah kelas Objek Java2 , sistem Secara automatik memanggil kaedah pemuktamadkan objek. Subkelas boleh mengatasi kaedah ini dan melakukan beberapa operasi untuk melepaskan sumber.

3. Apabila objek tidak mempunyai rujukan, jvm akan menggunakan mekanisme pengumpulan sampah untuk memusnahkan objek tersebut.

4. Seruan mekanisme pengumpulan sampah ditentukan oleh algoritma GC sistem, dan juga boleh dicetuskan secara aktif melalui System.gc().

Atas ialah kandungan terperinci Analisis contoh kaedah kelas Objek Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan