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:

Loading kelas menyang memori

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
Class a = String.class;
Entuk Classobyek kanthi informasi babagan Stringkelas
Class b = Object.class;
Entuk Classobyek kanthi informasi babagan Objectkelas
Class c = Integer.class;
Entuk Classobyek kanthi informasi babagan Integerkelas
Class d = int.class;
Entuk Classobyek kanthi informasi babagan intjinis kasebut
Class e = void.class;
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
Class a = "Hello".getClass();
Obyek sing padhaString.class
Class b = new Integer().getClass();
Obyek sing padhaInteger.class
Class c = Boolean.TRUE.getClass();
Obyek sing padhaBoolean.class