Rumah > Java > javaTutorial > teks badan

Pembina lebih muatan menggunakan blok statik di Java

王林
Lepaskan: 2023-09-06 14:41:06
ke hadapan
1347 orang telah melayarinya

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.

Tatabahasa

Public class class_name {
   Class_name() {
   }
   Class_name(par1, par2..) {
   }
}
Salin selepas log masuk

Menggunakan pembina dengan blok statik memberikan lebih kuasa dan fleksibiliti semasa pemulaan objek.

Algoritma

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.

Kaedah 1: Tentukan blok statik yang berasingan

Pendekatan ini melibatkan penentuan blok statik dan pembina terlebih beban secara berasingan.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Class Class_name{
   Static {
   }
   Public class_name(){
   }
   Public class_name(int value) {
   }
   Public class_name(string name) {
   }
   //Other methods
}
Salin selepas log masuk

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.

Contoh

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();
   }
}
Salin selepas log masuk

Output

Id	Name	Company	Exp
1	Apoorva	XYZ Corp	0
4	Anu	XYZ Corp	10
-	-	-		-
Salin selepas log masuk

Arahan

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.

Kaedah 2: Panggil kaedah statik daripada pembina

Untuk melaksanakan kod permulaan dikongsi, anda boleh mengisytiharkan kaedah statik dalam kelas anda dan memanggilnya daripada pembina.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

public 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");
   }
}
Salin selepas log masuk

Output

Common initialization code
No-arg constructor called
Common initialization code
Int constructor called
Common initialization code
String constructor called
Salin selepas log masuk

Arahan

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.

Perbandingan antara Kaedah 1 dan Kaedah 2

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

Kesimpulan

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan