Rumah >Java >javaTutorial >Contoh Analisis Kelas dan Objek Java
Kelas ialah asas untuk pengkapsulan maklumat dalam pengaturcaraan berorientasikan objek (OOP, Pengaturcaraan Berorientasikan Objek). Kelas ialah jenis data rujukan yang ditentukan pengguna, juga dipanggil jenis kelas. Setiap kelas mengandungi penerangan data dan satu set fungsi untuk mengendalikan data atau menghantar mesej kelas dipanggil objek
Intipati kelas ialah jenis data rujukan, serupa dengan bait, pendek, int, char. , long , float, double dan jenis data asas yang lain, perbezaannya ialah ia adalah jenis data yang kompleks. Kerana intipatinya ialah jenis data, bukan data, ia tidak wujud dalam ingatan dan tidak boleh dimanipulasi secara langsung Ia hanya boleh dikendalikan apabila ia dijadikan sebagai objek.
Kita dapati bahawa kelas dalam Java sebenarnya sangat serupa dengan struktur dalam bahasa C, jadi apakah perbezaan antara mereka?
1. Objek yang dibungkus adalah berbeza
Struktur bahasa C ialah pembungkusan data. Membungkus sekumpulan data berkaitan konsep bersama-sama untuk memudahkan pemprosesan keseluruhan. Dunia luar boleh membaca dan menulis data ini sesuka hati
Objek Java boleh menjadi pakej data atau tanggungjawab
2. Lokasi storan yang berbeza
Bahasa C Struktur boleh disimpan pada. timbunan atau pada timbunan
Objek Java hanya boleh disimpan pada timbunan
Ahli Kelas boleh memasukkan yang berikut: medan, kaedah. , blok kod, kelas dalaman dan antara muka, dsb.
boleh difahami dengan jelas kerana kelas ialah templat, dan instantiasi kelas adalah untuk mencipta objek melalui templat ini (templat boleh mencipta objek yang tidak terkira banyaknya)
Mengisytiharkan kelas sebenarnya sama dengan menyesuaikan jenis baharu, jenis rujukan
Borang asas:
nama kelas kelas {
Medan (pembolehubah ahli/atribut);
Kaedah (kaedah ahli);
}
Kelas di sini ialah kata kunci kelas
Elemen dalam kelas: atribut (di dalam kelas, di luar kaedah)
Kaedah dalam kelas: kaedah ahli
Contoh berikut:
public class Dog { public String name; public int age; public void bark() { System.out.println("汪汪"); } }
Melalui kod di atas, kelas anjing dicipta. Ia mempunyai dua atribut: nama dan umur Kelakuan dipanggil
Orang awam di hadapan atribut ialah pengubah suai akses daripada kaedah ahli.
Objek instance, ahli mengikut peraturan nilai lalai
Khusus:
Jenis rujukan: null
boolean: false
char: 'u0000' (karakter nol)
Instantiation of class
Di sini, objek dibuat seketika melalui baru, Pembolehubah ahli diakses melalui rujukan objek Pembolehubah ahli digunakan untuk mengakses pembolehubah ahli Kaedah biasa dipanggil melalui rujukan objek Nama kaedah digunakan untuk memanggilclass Dog { public String name; public int age; public boolean are; public static int a; public void bark() { System.out.println("汪汪"); } } public class Practice { public static void main(String[] args) { Dog dog = new Dog(); // 实例化一个对象 System.out.println(dog.are); // 通过.来访问 } }
sifat statik (pembolehubah ahli statik)
<.> ditakrifkan di dalam kelas Kaedah Secara luaran, tambahkan pengubahsuaian statik seperti berikut:Nota: Sifat statik masih mengikut peraturan nilai lalai
class Dog { public String name; public int age; public boolean are; public static int a; // 静态属性 public void bark() { System.out.println("汪汪"); } }Cara untuk akses: Perlu tahu Pembolehubah ahli statik bukan milik objek, tetapi untuk kelas, jadi kami tidak boleh mengaksesnya melalui rujukan objek Pembolehubah ahli diakses melalui nama kelas, dan kaedah statik diakses melalui nama kelas seperti berikut :
Contoh ralat:
System.out.println(Dog.a);
Anda tidak memerlukan objek untuk mengakses sifat statik kelas, anda boleh mengaksesnya terus
System.out.println(Dog.a);Nota: Sifat statik wujud dalam kawasan kaedah
Dalam kod ini terdapat kelas Dog, yang mempunyai dua pembina, satu tanpa parameter dan satu dengan parameter Apabila mencipta objek melalui baharu , menggunakan pembinaan berparameter, anda boleh melihat hasil cetakan
class Dog { public String name; public int age; public boolean are; public static int a; public Dog() { } public Dog(String name) { this.name = name; } public void bark() { System.out.println("汪汪"); } } public class Practice { public static void main(String[] args) { Dog dog = new Dog("旺财"); System.out.println(dog.name); } }
Jadi sebenarnya, anda juga boleh melihat kaedah pembinaan yang dipanggil bergantung pada parameter yang diluluskan dalam baharu
Nota: Apabila tiada pembina dalam kelas, sistem akan secara automatik menambah pembina tanpa parameter, tetapi apabila anda menulis pembina itu sendiri, binaan tanpa parameter ini tidak akan ditambah . Jika anda perlu menggunakan pembina tanpa parameter, anda perlu menulisnya secara manualMengapa ini bukan objek, tetapi rujukan:
Kita perlu tahu bahawa kaedah pembina digunakan untuk mencipta objek, jadi semasa proses memanggil kaedah pembina untuk mencipta objek, objek masih tidak wujud, mengapa? Teori objek yang akan datang
Oleh itu, kita boleh mengakses sifat, kaedah ahli dan pembina melalui ini (apabila memanggil kaedah pembina, ia hanya boleh diletakkan pada baris pertama, hanya boleh ditulis dalam kaedah pembina, dan hanya boleh digunakan Sekali)
Atas ialah kandungan terperinci Contoh Analisis Kelas dan Objek Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!