Objek adalah kelas induk dari semua kelas, dan kelas apa pun mewarisi objek secara default. Metode apa yang diimplementasikan kelas objek?
1. Metode klon
Metode perlindungan untuk mengimplementasikan penyalinan objek yang dangkal. Metode ini hanya dapat dipanggil dengan mengimplementasikan antarmuka yang dapat dikloning, jika tidak, pengecualian ClonenotsupportedException akan dilemparkan.
2. Metode GetClass
Metode terakhir, dapatkan jenis runtime.
3. Metode Tostring
Metode ini digunakan lebih sering dan umumnya memiliki override subclass.
4. Finalisasi metode
Metode ini digunakan untuk membebaskan sumber daya. Karena tidak mungkin untuk menentukan kapan metode ini dipanggil, jarang digunakan.
5. Metode sama
Metode ini adalah metode yang sangat penting. Umumnya sama dan == berbeda, tetapi dalam objek keduanya sama. Subkelas umumnya perlu menulis ulang metode ini.
6. Metode kode hash
Metode ini digunakan untuk pencarian hash. Jika metode yang sama ditulis ulang, metode kode hash umumnya ditulis ulang. Metode ini digunakan dalam beberapa koleksi dengan fungsi hashing.
Umumnya, Obj1.Equals (OBJ2) == Benar harus dipenuhi. OBJ1.HASH-CODE () == OBJ2.HashCode () dapat diperkenalkan, tetapi kode hash yang sama tidak selalu memenuhi sama. Namun, untuk meningkatkan efisiensi, dua kondisi di atas harus dijaga hampir setara.
7. Metode Tunggu
Metode tunggu adalah membuat utas saat ini menunggu kunci objek. Utas saat ini harus menjadi pemilik objek, yaitu kunci objek. Metode tunggu () menunggu sampai kunci diperoleh atau terganggu. Tunggu (lama) menetapkan interval batas waktu dan kembali jika tidak ada kunci yang diperoleh dalam waktu yang ditentukan.
Setelah memanggil metode ini, utas saat ini tertidur sampai peristiwa berikut terjadi.
(1) Utas lain memanggil metode pemberitahuan objek.
(2) Thread lain memanggil metode pemberitahuan objek.
(3) Utas lainnya memanggil interupsi untuk mengganggu utas.
(4) Interval waktu telah tiba.
Pada saat ini, utas dapat dijadwalkan. Jika terputus, ExterruptedException akan dilemparkan.
8. Metode Beri tahu
Metode ini membangunkan utas yang menunggu di objek.
9. Metode NotifyAll
Metode ini membangunkan semua utas yang menunggu pada objek.
-Obyek-
ClassObjective theroot untuk klasifikasi archy. Setiap classshasobjectasa superclass.
-Penjelasan-
Kelas objek adalah kelas induk yang diwarisi oleh semua objek di Java, dan bahkan array mewarisi kelas induk (dapat dipahami sebagai kelas asli, leluhur semua kelas. Anda mungkin ingin bertanya: Apakah kelas pertama yang ditulis oleh James objek?).
Semua kelas mewarisi kelas objek secara implisit, sehingga mereka tidak dapat dilihat.
-Obyek-
Konstruktor default
-klon-
―Equals -
Menunjukkan whethersomeotherobjectis "sama dengan" ini.
TheEqualSmethodimmplions sanequivalence onnon-nullobjectreferences: —Fromoracle—
Sama dengan objek kelas asli membandingkan referensi dengan objek yang tidak kosong dari dua variabel.
Kode Sumber:
public boolean sama (objek obj) {return (this == obj); }Melalui kode sumber, kita dapat melihat bahwa kelas asli setara sebenarnya setara dengan "==".
-menyelesaikan-
―GetClass -
―HashCode -
Bahasa pemrograman inthava, setiap classimplicitly-explicitlyprovideshashCode (), yang mencerna contohnya dari sklassinglehashvalue (a32-bitsignedIndeVeIdeVeAdeVe-evorDevalue (stortoreManiPulating-konfevaleDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDevalueDeVeUsEndeVeAdeVeSeVeSePing foruseinclustering. ini properoperasi penting untuk kinerja hashtables dan atas datastruktur yang haruseObjectSgroups ("ember") berdasarkan ComputehashValues. defaultisanativeTethod, artinya, Ithasthemodifier'native ', asitisImplementeddirectlyinthenativeCodeintheJVM.
Sumber: Wikipedia
Setiap kelas dalam Java mengimplementasikan metode hashcode objek secara implisit atau eksplisit.
Untuk meringkas dengan Google dan pribadi resmi, mengapa penulis memiliki kode hash di kelas asli?
①. Optimalisasi penyimpanan objek kelas untuk memfasilitasi pencarian objek kelas.
②. Gunakan dengan Equals.
CATATAN: Banyak blog mengatakan bahwa metode HashCode mengembalikan alamat penyimpanan fisik atau alamat penyimpanan logis kelas. Pernyataan ini salah. Menurut pernyataan resmi, nilai 32-bit yang dikembalikan hanya terkait dengan lokasi penyimpanan objek kelas.
-memberitahu-
―Notifyall -
―Tostring -
Metode ToString untuk objek kelas ke depan yang terdiri dari nama kelas, Theat-Signcharacter`@', dan representasi desimal Hexa yang tidak ditandatangani dari kode hash objek.
getClass (). getName ()+'@'+integer.tohexstring (hashcode ())
Kode Sumber:
Public String ToString () {return getClass (). getName () + "@" + integer.toHexString (hashCode ()); }Mengembalikan nilai hash dalam nama kelas format +@ + dari kelas.
-Tunggu-
menyelesaikan()
Meringkaskan
Di atas adalah seluruh konten artikel ini tentang java.lang.Object membaca kode sumber java. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!