Kita wis ngomong babagan kasunyatan manawa kelas minangka jinis data sing kompleks. Saiki ayo ngomong sethithik babagan sisih liyane saka kelas - carane kelas ditangani dening mesin Java. Elinga yen ing Jawa kabeh obyek, malah kelas. Kelas minangka obyek. Apa sampeyan kaget? Banjur ayo terus.
Loading kelas menyang memori
Bener, nalika kelas dimuat ing memori, telung "obyek" khusus digawe:
Deskripsi singkat ilustrasi:
persegi panjang kuning:
File kode disimpen ing disk minangka file karo extension ".class". Isine informasi babagan kelas, kolom lan metode, uga kode sumber metode sing disusun dadi bytecode.
persegi panjang oranye:
Nalika mesin Java ngemot kelas menyang memori, kompilasi bytecode menyang kode mesin khusus kanggo prosesor komputer lan sistem operasi. Mung mesin Jawa nduweni akses menyang kode mesin iki. Minangka programer Java, kita ora duwe akses menyang.
persegi panjang ijo:
Mesin Java nggawe obyek sing ngemot kabeh variabel statis lan metode kelas. Sampeyan ngakses "obyek" iki nggunakake jeneng kelas.
Contone, nalika sampeyan nulis , sampeyan nuduhake variabel statis sing ana ing kelas kasebut. Objek iki minangka persegi panjang ijo kita. Lan ing ngendi variabel statis disimpen.java.lang.Math.PIPIjava.lang.Mathjava.lang.MathPI
persegi panjang biru:
Nalika mesin Java mbukak kode kelas menyang memori, nggawe java.lang.Classobyek khusus, kang nyimpen informasi bab kelas dimuat: jeneng sawijining, jeneng cara, jeneng lapangan lan jinis, etc.
Jeneng "Kelas" bisa dadi rada mbingungake. Iku bakal nggawe liyane pangertèn kanggo nelpon ClassInfo, wiwit kelas iki mung nyimpen sawetara informasi bab kelas dimuat.
Sampeyan bisa entuk obyek Kelas kanggo jinis apa wae nggunakake printah kaya iki:
Class name = ClassName.class;
Tuladha:
| Kode | Cathetan |
|---|---|
|
Entuk Classobyek kanthi informasi babagan Stringkelas |
|
Entuk Classobyek kanthi informasi babagan Objectkelas |
|
Entuk Classobyek kanthi informasi babagan Integerkelas |
|
Entuk Classobyek kanthi informasi babagan intjinis kasebut |
|
Entuk Classobyek kanthi informasi babagan voidjinis kasebut |
Sampeyan uga bisa njaluk referensi kanggo obyek gambaran kelas saka sembarang obyek, wiwit saben obyek wis cara getClass(), kang oleh warisan saka Objectkelas.
Tuladha:
| Kode | Cathetan |
|---|---|
|
Obyek sing padhaString.class |
|
Obyek sing padhaInteger.class |
|
Obyek sing padhaBoolean.class |
GO TO FULL VERSION