![Semua metode kelas Objek, ditambah lagi pada metode toString() - 1](https://cdn.codegym.cc/images/article/d6d8a4c8-da1b-4eec-9ed9-f28473fc5e92/800.jpeg)
"Hai, Amigo!"
"Hai!"
"Hari ini kita akan mempelajari kelas Object.
Anda telah menemukannya, dan Anda tahu bahwa Object adalah kelas dasar untuk semua kelas. Praktis tidak ada data, tetapi memiliki beberapa metode."
"Mengapa membutuhkan metode? Apakah ada yang benar-benar membuat instance dari kelas Object?"
"Lihatlah seperti ini: metode di kelas Object adalah umum di semua kelas. Dengan kata lain, pembuat Java mengidentifikasi beberapa metode yang, menurut pendapat mereka, harus dimiliki setiap kelas dan menambahkannya ke kelas Object."
"Dan ketika dikombinasikan dengan polimorfisme (kemampuan untuk mengesampingkan metode kelas Object di kelas turunan), ini menjadi alat yang sangat ampuh."
"Mari kita lihat apa metode ini:"
metode | Keterangan |
---|---|
|
Mengembalikan representasi string dari objek. |
|
Sepasang metode yang digunakan untuk membandingkan objek. |
|
Mengembalikan objek khusus yang menjelaskan kelas saat ini. |
|
Metode untuk mengontrol akses ke objek dari utas berbeda. Untuk sinkronisasi benang. |
|
Metode ini memungkinkan Anda melepaskan sumber daya non-Java asli: menutup file, streaming, dll. |
|
Metode ini memungkinkan Anda mengkloning objek: membuat duplikat objek. |
"Metode ini dapat dibagi menjadi 6 kelompok. Anda sudah terbiasa dengan beberapa di antaranya, dan sisanya akan kita kenali di pelajaran berikutnya."
"Untuk beberapa alasan, saya tidak melihat sesuatu yang berguna di sini."
"Amigo! Jika metode ini tidak penting, mereka tidak akan menambahkannya ke setiap objek! Jadi, saya akan menyarankan Anda untuk melihat lebih dekat apa ini dan mengapa mereka diperlukan. Jika mereka tampaknya tidak penting bagi Anda , maka Anda tidak memahami sesuatu atau tidak memahami sesuatu dengan benar."
"Oke. Aku akan mendengarkan baik-baik."
"Mari kita mulai dengan metode toString().
"Metode ini memungkinkan Anda mendapatkan deskripsi teks dari objek apa pun. Implementasinya di kelas Object sangat sederhana:"
return getClass().getName() + "@" + Integer.toHexString(hashCode());
"getClass() dan hashCode() juga merupakan metode kelas Objek.
Memanggil metode ini biasanya menghasilkan hasil seperti ini:"
java.lang.Object@12F456
"Dan apa gunanya deskripsi seperti itu?"
"Deskripsi ini memungkinkan Anda mengetahui kelas objek yang metodenya dipanggil. Anda juga dapat membedakan antara objek; objek yang berbeda akan memiliki digit yang berbeda setelah simbol @."
"Tapi nilai sebenarnya dari metode ini ada di tempat lain. Metode ini dapat ditimpa di kelas mana pun untuk mengembalikan deskripsi objek yang lebih detail atau cocok."
"Tapi masih ada lagi. Karena Anda bisa mendapatkan representasi teks dari setiap objek, Java memungkinkan Anda mengimplementasikan dukungan untuk 'menambahkan' String ke objek.
Coba lihat:"
Kode | Apa yang sebenarnya terjadi |
---|---|
|
|
|
|
|
|
"Ya, saya menggunakan ini secara teratur. Terutama ketika saya sedang menulis program atau mencari bug. Operasi ini berguna."
GO TO FULL VERSION