Rumah >Java >javaTutorial >Pembina lebih muatan menggunakan blok statik di Java
Tindakan menginstant objek memanggil pembina yang sepadan, yang merupakan asas bagi banyak ciri dalam pengaturcaraan berorientasikan objek. Perlu diingat bahawa dalam mana-mana program yang menggunakan objek, selalunya terdapat pembina lalai - pengkompil secara automatik menciptanya untuk kegunaan yang lancar.
Dalam perbincangan ini, kita akan menyelami lebih mendalam tentang pembina lebih muatan blok statik di Jawa. Pembebanan konstruktor ialah konsep mentakrifkan berbilang pembina dengan parameter berbeza dalam kelas.
Public class class_name { Class_name() { } Class_name(par1, par2..) { } }
Menggunakan pembina dengan blok statik memberikan lebih kuasa dan fleksibiliti semasa pemulaan objek.
Untuk membebankan pembina menggunakan blok statik, sila ikut langkah ini -
Langkah 1 - Buat kelas dengan berbilang pembina dengan parameter berbeza.
Langkah 2 - Buat blok statik menggunakan kata kunci "statik"
Blok ini dilaksanakan sekali apabila kelas dimuatkan ke dalam memori.
Langkah 3- Apabila memuatkan kelas, mula-mula blok statik dilaksanakan dan kemudian pembina dilaksanakan apabila objek dicipta.
Langkah 4 - Pembina akan dipanggil berdasarkan hujah yang disediakan.
Pendekatan ini melibatkan penentuan blok statik dan pembina terlebih beban secara berasingan.
Terjemahan bahasa Cina bagiClass Class_name{ Static { } Public class_name(){ } Public class_name(int value) { } Public class_name(string name) { } //Other methods }
Dalam pendekatan ini, kelas boleh mempunyai pembina yang terlebih beban dengan senarai parameter yang berbeza, yang juga termasuk kod permulaan. Terdapat juga blok statik yang berasingan untuk permulaan statik kelas. Blok ini akan dilaksanakan sekali.
Dalam contoh ini kami akan menunjukkan kaedah 1
class Emp { int id, exp;String name;static String company; static { company = "XYZ Corp"; } public Emp(){ System.out.println("-" + "\t" + "-" + "\t" + "-" + "\t" + "\t" + "-"); } public Emp(int id, String name){ System.out.println(id + "\t" + name + "\t" + company + "\t" + exp); } public Emp(int id, String name, int exp) { System.out.println(id + "\t" + name + "\t" + company + "\t" + exp); } } public class Way2Class { public static void main(String[] args) { System.out.println("Id" + "\t" + "Name" + "\t" + "Company" + "\t" + "Exp"); Emp obj1 = new Emp(001, "Apoorva"); Emp obj2 = new Emp(004, "Anu", 10); Emp obj3 = new Emp(); } }
Id Name Company Exp 1 Apoorva XYZ Corp 0 4 Anu XYZ Corp 10 - - - -
Dalam syarikat, pekerja yang mempunyai pengalaman bertahun-tahun akan bekerja untuk syarikat yang sama. Jadi jika tiada nilai diluluskan dalam pembolehubah syarikat maka ia secara automatik menetapkan nama syarikat yang sama seperti syarikat. Untuk ini kami menggunakan blok statik.
Untuk melaksanakan kod permulaan dikongsi, anda boleh mengisytiharkan kaedah statik dalam kelas anda dan memanggilnya daripada pembina.
Terjemahan bahasa Cina bagipublic class Way2Class { private int value; private String name; private static void initialize() { System.out.println("Common initialization code"); } public Way2Class() { initialize(); value = 0; name = "Default"; System.out.println("No-arg constructor called"); } public Way2Class(int value) { initialize(); this.value = value; name = "Value"; System.out.println("Int constructor called"); } public Way2Class(String name) { initialize(); value = 0; this.name = name; System.out.println("String constructor called"); } public static void main(String[] args) { Way2Class obj1 = new Way2Class(); Way2Class obj2 = new Way2Class(10); Way2Class obj3 = new Way2Class("Hello"); } }
Common initialization code No-arg constructor called Common initialization code Int constructor called Common initialization code String constructor called
Kelas Way2Class dalam gambar ini mengandungi tiga pembina, setiap satunya memanggil kaedah pemula statik () untuk melaksanakan kod permulaan dikongsi. Setiap pembina memanggil fungsi statik initialize() yang ditentukan dalam kelas. Berdasarkan parameter yang diberikan, pembina yang sesuai dipanggil semasa penciptaan objek, dan kaedah statik initialize() digunakan untuk melaksanakan kod permulaan awam.
Standard |
Kaedah 1 |
Kaedah 2 |
---|---|---|
Jenis |
Asingkan blok statik |
Panggil kaedah statik daripada pembina |
Kaedah |
Guna semula kaedah statik biasa dengan pembina yang berbeza. |
Kaedah statik bebas dan pembina biasa. |
Logik kaedah |
Pembinaan terlebih muatan dan blok statik |
Pembinaan terlebih muatan dan blok statik |
Walaupun pendekatan 2 (kaedah statik dipanggil daripada pembina) memberikan lebih fleksibiliti dalam organisasi dan pewarisan kod, pendekatan 1 (berbilang pembina dengan kod biasa) adalah lebih bebas dan mudah. Pilihan antara dua kaedah bergantung pada keperluan khusus dan pertimbangan reka bentuk projek semasa.
Atas ialah kandungan terperinci Pembina lebih muatan menggunakan blok statik di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!