Permulaan Pembolehubah dalam Pembina
Apabila mencipta objek Java, anda mempunyai dua pilihan untuk memulakan pembolehubah contoh:
Instansiasi dihidupkan Pengisytiharan
class A { B b = new B(); }
Instansiasi dalam Pembina
class A { B b; A() { b = new B(); } }
Kelebihan Setiap Pendekatan:
Gelagat Sama:
Penyusun secara automatik menjana kod permulaan yang setara untuk mana-mana pendekatan, jadi tiada perbezaan fungsi.
Kebolehbacaan:
Sesetengah pembangun lebih suka pendekatan pertama kerana ia memberikan lebih kejelasan segera tentang pembolehubah yang sedang dimulakan.
Pengendalian Pengecualian:
Dalam pendekatan kedua, anda boleh menggunakan pengendalian pengecualian dalam pembina untuk mengendalikan kemungkinan ralat semasa pemulaan pembolehubah.
Blok Permulaan:
Selain perkara di atas, anda juga boleh menggunakan blok pemulaan untuk memulakan pembolehubah. Sama seperti pengisytiharan medan, blok pemulaan diletakkan secara automatik dalam pembina.
{ a = new A(); }
Permulaan Malas:
Jika memulakan pembolehubah adalah mahal, anda boleh memilih pemula malas dengan menetapkannya dalam kaedah getter yang hanya mencipta objek apabila diperlukan.
ExpensiveObject o; public ExpensiveObject getExpensiveObject() { if (o == null) { o = new ExpensiveObject(); } return o; }
Pengurusan Pergantungan:
Untuk meningkatkan pengurusan pergantungan, pertimbangkan untuk mengelakkan instantiasi langsung dengan pengendali baharu. Sebaliknya, gunakan suntikan kebergantungan, di mana kelas atau rangka kerja lain mengendalikan penciptaan objek dan suntikan kebergantungan.
Atas ialah kandungan terperinci Permulaan Pembolehubah Java: Pembina vs. Pengisytiharan – Mana Yang Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!