1. Inisialisasi kelas
Untuk inisialisasi kelas: Inisialisasi kelas umumnya hanya diinisialisasi satu kali, dan inisialisasi kelas terutama menginisialisasi variabel anggota statis.
Kompilasi suatu kelas menentukan proses inisialisasi kelas tersebut.
File kelas yang dihasilkan oleh kompiler pada dasarnya membuat perubahan berikut pada kelas yang ditentukan dalam file sumber:
1) Pertama-tama deklarasikan variabel anggota di dalam kelas sesuai urutan definisi variabel anggota statis.
2) Inisialisasi sesuai dengan urutan inisialisasi variabel anggota di kelas java asli.
Konversi yang sesuai antara kelas java dan kelas yang dikompilasi adalah sebagai berikut:
Sumber berkas:
Copy kode kodenya sebagai berikut:
Orang kelas publik{
nama String statis publik = "Zhang San";
usia statis publik;
statis{
umur=20;
System.out.println("Umur inisialisasi");
}
alamat String statis publik;
statis{
alamat="Beijing";
umur=34;
}
public static void main(String[] args) {
System.out.println(nama);
System.out.println(usia);
System.out.println(alamat);
}
}
Ketika kode sumber Java diubah menjadi file kelas, kode tersebut diubah menjadi kode seperti berikut:
Copy kode kodenya sebagai berikut:
Orang kelas publik{
nama String statis publik;
usia statis publik;
alamat String statis publik;
statis{
nama="Zhang San";
umur=20;
System.out.println("Umur inisialisasi");
alamat="Beijing";
umur=34;
}
public static void main(String[] args) {
System.out.println(nama);
System.out.println(usia);
System.out.println(alamat);
}
}
Urutan inisialisasi dijalankan secara berurutan sesuai dengan urutan inisialisasi variabel anggota kelas yang bersangkutan setelah konversi, sehingga semua variabel anggota statis dideklarasikan terlebih dahulu dan kemudian ditetapkan, dan urutan penugasan juga didasarkan pada urutan variabel anggota statis berada. diinisialisasi dalam kode sumber. Catatan: Mendefinisikan variabel anggota dan menginisialisasinya secara langsung sama dengan menginisialisasinya dalam blok kode statis, keduanya sesuai urutan yang didefinisikan dalam kode sumber.
2. Pembuatan objek
Proses inisialisasi pembuatan objek mirip dengan proses inisialisasi suatu kelas, namun akan ditambahkan tahapan konstruktor. Kode sumbernya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
Orang kelas publik{
{
nama="李思";
umur=56;
System.out.println("Umur inisialisasi");
alamat="Shanghai";
}
nama String publik = "Zhang San";
umur int publik=29;
alamat String publik="Beijing";
Orang Publik(){
nama="Zhao Liu";
umur=23;
alamat="Shanghai";
}
}
Setelah compiler mengubahnya menjadi file kelas, maka akan diubah menjadi kode seperti berikut:
Copy kode kodenya sebagai berikut:
Orang kelas publik{
nama String publik;
usia publik;
alamat String publik;
Orang Publik(){
nama="李思";
umur=56;
System.out.println("Umur inisialisasi");
alamat="Shanghai";
nama="Zhang San";
umur=29;
alamat="Beijing";
nama="Zhao Liu";
umur=23;
alamat="Shanghai";
}
}
Terlihat inisialisasi variabel anggota di kelas dan kode pada blok kode semuanya telah dipindahkan ke konstruktor, dan variabel anggota diinisialisasi secara berurutan sesuai urutan inisialisasi file sumber java, sedangkan kode di konstruktor asli Dipindahkan ke eksekusi terakhir konstruktor. Saya belum pernah memiliki pemahaman mendalam tentang proses inisialisasi kelas sebelumnya. Saya hanya tidak tahu bagaimana cara menginisialisasinya. Saya hanya dapat mengingat urutan inisialisasi sesuai dengan buku, tetapi saya lupa setelah beberapa saat, jadi kali ini saya akhirnya ketahuan. Sebaiknya dijelaskan mekanisme inisialisasinya sesuai model. Tidak perlu dihafal lagi. Hanya jika sudah paham tidak bisa dilupakan.