Cara Melaksanakan Pembina Persendirian di Jawa



Artikel ini akan memberi anda pengetahuan terperinci dan komprehensif mengenai Private Constructor di Java dan digunakan dengan contoh.

Pembina digunakan untuk menginisialisasi keadaan objek. Sama dengan kaedah, konstruktor juga dapat menyimpan kumpulan penyataan, yang tidak boleh disebut sebagai petunjuk. Dalam artikel ini, kita akan membincangkan Pembangun Swasta di mengikut urutan berikut:

apa kelas pojo di java dengan contoh

Pengenalan Konstruktor di Jawa

Pembina dilaksanakan pada masa penciptaan objek. Untuk mendapatkan pemahaman yang lebih baik mengenai konstruktor dan aplikasinya, fikirkan kotak sebagai kelas. Kelas Box diasumsikan mempunyai beberapa pemboleh ubah kelas (iaitu panjang, lebar, dan tinggi). Namun, pada saat membuat objeknya (iaitu Kotak ada dalam memori komputer), begitu juga kotak yang ada tanpa nilai yang ditentukan untuk kuantiti dimensinya.





Jelas, tidak.

Oleh itu, konstruktor diperkenalkan untuk memberikan nilai kepada pemboleh ubah kelas pada penciptaan objek. Ini dapat dilakukan secara eksplisit oleh pengaturcara atau oleh Java itu sendiri. Apabila dilakukan oleh Java itu sendiri disebut sebagai konstruktor lalai.



Sangat mustahak untuk memahami bahawa kaedah apa pun, yang memiliki akses penentu yang diberikan oleh pengekod kepada pembina, yang dibuat peribadi, hanya dapat diakses di dalam kelas itu sendiri.

Pembina Persendirian di Jawa

Kelas Singleton

Dari namanya sendiri, kita boleh memanggil kelas sebagai singleton jika ia mengehadkan bilangan objek kelas itu menjadi satu. Kelas tidak boleh mempunyai lebih dari satu objek dalam kes seperti itu. Kelas singleton digunakan secara menyeluruh dalam konsep seperti penyambungan rangkaian dan pangkalan data. Kelas Singleton adalah kelas persendirian .



Pasti ada cara lain untuk mengekstrak contoh kelas dan kaedah pengembalian untuk mendapatkan kembali hasilnya. Di bawah ini adalah gambaran yang sama. Piktograf pertama menggambarkan kemungkinan hasil di mana nilai 'a.x' sama dengan 20 dan nilai 'b.x' menghasilkan 20 juga. Dalam kod, semasa kita menentukan kelas persendirian, pembangunnya tidak dapat diakses di luar kelas.

Nilai a.x = 20

Nilai b.x = 20

// Program Java untuk menunjukkan pelaksanaan pola Singleton // menggunakan pembangun swasta. import java.io. * kelas MySingleton {statik MySingleton instance = null public int x = 10 // pembina peribadi tidak dapat diakses di luar kelas swasta MySingleton () {} // Kaedah kilang untuk memberi pengguna MySingleton statik awam getInstance () {if (instance == null) instance = MySingleton baru () instance kembali}} // Kelas Kelas Pemandu Utama {public static void main (String args []) {MySingleton a = MySingleton.getInstance () MySingleton b = MySingleton.getInstance () ax = ax + 10 System.out.println ('Value of ax =' + ax) System.out.println ('Nilai bx =' + bx)}}

Kesan Pembina Persendirian di Jawa

Pembina peribadi tidak dapat mengakses kelas yang berasal dari kelas lain. Oleh itu, kita harus memberikan fungsi umum, yang memanggil pembangun swasta. Jika tidak, objek tidak diinisialisasi, atau kita harus mengirim kembali instance ke objek tersebut jika diinisialisasi. Ini sangat berguna untuk objek, yang tidak dapat diinisialisasi. Pembina peribadi digunakan dalam kes berikut:

  • Kelas masing-masing, yang hanya mempunyai kaedah dan ahli statik.
  • Kelas khusus, yang hanya menggunakan anggota akhir statik (pemalar) secara meluas.
  • Untuk menggabungkan single.
  • Untuk memasukkan kaedah kilang.

Untuk menggunakan penghitungan, yang selamat dari jenisnya.

Rantai Pembina Dalaman

Rantai konstruktor dalaman adalah apabila konstruktor memanggil konstruktor lain dari kelas yang sama maka ia boleh disebut sebagai rantai konstruktor. Adalah menjadi tugas kita untuk menggunakan kata kunci ini untuk memanggil pembina kelas yang lain. Dalam beberapa keadaan, ia digunakan untuk menentukan beberapa nilai lalai dari pemboleh ubah kelas. Perlu juga diingat bahawa panggilan konstruktor lain mestilah penyataan pertama dalam blok kod.

Selain itu, tidak boleh ada panggilan rekursif, yang akan membuat gelung tanpa batas. Mari kita lihat contoh rantai konstruktor dalam program java.

pakej com.journaldev.constructor public class Pekerja {private int id private String name public Employee () {this ('John Doe', 999) System.out.println ('Default Employee Created')} public Employee (int i) { ini ('John Doe', i) System.out.println ('Pekerja Dibuat dengan Nama Lalai')} Kakitangan awam (String s, int i) {this.id = i this.name = s System.out.println ( 'Employee Created')} public static void main (String [] args) {Employee emp = new Employee () System.out.println (emp) Employee emp1 = new Employee (10) System.out.println (emp1) Pekerja emp2 = Pekerja baru ('Pankaj', 20) System.out.println (emp2)} @ Override public String toString () {return 'ID =' + id + ', Name =' + name} public int getId () {return id } public void setId (int id) {this.id = id} public String getName () {return name} public void setName (String name) {this.name = name}}

Corak Reka Bentuk Kelas Singleton

  • Ahli peringkat kelas (Kaedah Inisialisasi Bersemangat):

  1. Pertama, buat contoh statik persendirian dari kelas singleton.

  2. Kemudian, tulis kaedah statik, yang mengembalikan objek kelas singleton, yang kami buat sebagai contoh anggota kelas.

  3. Adalah mungkin untuk menandakan anggota statik sebagai orang awam untuk mengakses contoh statik tetap secara langsung.

  4. Kelas singleton berbeza dari kelas Java biasa dari segi instansiasi. Dalam kelas biasa, konstruktor digunakan tetapi untuk kelas tunggal kita menggunakan kaedah get Instance ().

  • Ahli peringkat kelas (Kaedah Permulaan Malas):

  1. Pertama, mulakan konstruktor sebagai peribadi.

  2. Kemudian buat contoh statik peribadi dari kelas single ini. Perlu diingat untuk TIDAK memberi contoh.

  3. Kemudian, tulis kaedah statik, yang memeriksa anggota instance statik untuk nol dan memulakan instance. Akhirnya, ia mengembalikan objek kelas singleton.

  • Ahli Tahap Kelas (Inisiasi Malas dengan Kaedah kunci dua kali):

Pertimbangkan dua utas berjalan di mana kedua-duanya masuk ke dalam pernyataan 'if' serentak sementara contohnya adalah nol. Di mana, satu utas masuk ke blok yang disegerakkan untuk membuat instance, sementara yang lain disekat. Sebagai utas pertama berada di blok yang disegerakkan, utas dalam barisan membuat objek singleton yang lain. Harap maklum bahawa semasa utas kedua memasuki blok yang disegerakkan, ia gagal untuk memeriksa sama ada contohnya tidak kosong.

  • Menggunakan kelas Inner bersarang (kaedah Lazy Load):

Di sini, ia berdasarkan Spesifikasi Bahasa Java (JLS). Mesin Maya Java memuatkan ahli data statik hanya berdasarkan permintaan. Oleh itu, kelas Singleton dimuat terlebih dahulu oleh JVM. Oleh itu, tidak ada ahli data statik di dalam kelas

Pemegang Kelas Singleton tidak memuat SINGLE_INSTANCE. Apabila kita menggunakan kaedah getIntance, hanya ini yang berlaku. JLS menjamin pelaksanaan inisialisasi kelas. Peruntukan untuk penyegerakan eksplisit mengenai kaedah getInstance () statik untuk memuat dan memulakan. Semasa inisialisasi membuat pembolehubah statik SINGLE_INSTANCE secara berurutan, semua panggilan serentak getInstance () akan kembali sama tanpa overhead penyegerakan.

  • Dengan menggunakan Enums

Tidak semua pendekatan di atas adalah penyelesaian lengkap dalam semua kes. Pelbagai contoh pelaksanaan di atas dapat dibuat dengan menggunakan refleksi. Dalam kedua-dua senario tersebut, kita dapat memintas konstruktor peribadi dan membuat pelbagai keadaan. Oleh itu, pendekatan baru adalah membuat kelas singleton dengan menggunakan enum. Oleh kerana medan enum disusun pemalar masa, mereka adalah contoh jenis enumnya. Mereka dibina apabila jenis enum dirujuk buat pertama kalinya.

Dengan ini, kita sampai pada akhir artikel Private Constructor di Java. Saya harap anda mendapat pemahaman mengenai Pembina Peribadi dan bagaimana ia boleh digunakan di Jawa.

Lihat oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi Anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog 'Tutorial Java' ini dan kami akan menghubungi anda secepat mungkin.