Kata pengantar
Hari ini, ketika menonton Android ContentProvider Implement, saya tiba -tiba memikirkan urutan eksekusi domain statis, blok statis, blok non -statis, blok non -statis, dan fungsi konstruktif selama proses baru kelas Java. Bahkan, ini adalah masalah yang sangat klasik, yang sangat diperiksa untuk memahami pengetahuan dasar Java. Saya percaya ada juga masalah seperti itu selama proses wawancara, dan memanfaatkan waktu untuk memeriksanya pada akhir pekan.
sebagai kesimpulan
Berikut adalah kesimpulan penyortiran untuk semua orang, dan kemudian saya menulis program untuk memverifikasi kesimpulan kami. Selama kelas Java menjadi baru, perintah eksekusi adalah sebagai berikut:
Dalam proses penerapan kelas warisan, urutan eksekusi inisialisasi adalah sebagai berikut:
Di sini Anda perlu memperkenalkan blok kode statis dan blok kode non -statis.
1. Blok kode statis:
statis {
}
2. Blok kode non -statis
{{
}
Persamaan dan perbedaan antara blok kode statis dan blok kode non -statis adalah sebagai berikut:
Verifikasi terbaik dari verifikasi kesimpulan adalah menulis kode untuk membuktikan hasilnya. Pertama, mari kita lihat urutan eksekusi ketika kelas warisan diinisialisasi.
Public Initodertest {Public Static Static_field = "Statis Properties"; -Static Properties "; // Blok Non -Statis {System.out.println (bidang); System.out.println (" Blok Kode Non -Statis ");} public initoderTest () {System.out.println);} Public static void main (string [] args) {initodrtest test = new initoderTest ();}} Hasil Eksekusi:
Selanjutnya, mari kita verifikasi bahwa ketika kelas Java diwarisi, perintah eksekusi sejalan dengan kesimpulan kami. Kode tes adalah sebagai berikut:
Class ParentTest {Public String Parent_static_field = "Properti Parent-Static"; String Parentfield = Atribut Kelas-Non-Statis Keluarga "; PareatTtest () {System.out.println ("Family -Public Class InitoderTest memperluas PareatTest {Public Stration Static_field =" Statis Atribut "; // Static Block Static {System.out .println (static_field); System.out.println (" Blok kode statis ");} bidang string publik =" properti non -statis "; // blok non -statis {System.out.println (bidang); System.out.pr. Intln (" Blok kode non -statis ") ;} Public initoderTest () {System.out.println ("Portomless Constructor");Hasil eksekusi adalah sebagai berikut: