Rumah > Java > javaTutorial > Rujukan pembina

Rujukan pembina

Linda Hamilton
Lepaskan: 2025-01-14 10:08:43
asal
761 orang telah melayarinya

Referências de construtor

  • Merujuk pembina menggunakan sintaks: classname::new.

  • Boleh diberikan kepada antara muka berfungsi yang mempunyai kaedah serasi pembina.

Contoh dengan Pembina Berparameter

  • Jika antara muka berfungsi mempunyai kaedah dengan satu parameter, rujukan akan dikaitkan dengan pembina dengan parameter tersebut.

MyFunc myClassCons = MyClass::new;
MyClass mc = myClassCons.func("Ujian");

  • Di sini, MyClass(String s) ialah pembina yang dirujuk.

Contoh dengan Pembina Lalai

  • Untuk merujuk pembina tanpa parameter, anda mesti menggunakan antara muka berfungsi yang kaedahnya juga tidak mempunyai parameter.

MyFunc2 myClassCons = MyClass::new;
MyClass mc = myClassCons.func();

Gunakan dengan Kelas Generik

  • Untuk kelas generik, anda boleh menentukan jenis semasa membuat rujukan.

MyGenClass::new;

  • Terima kasih kepada menaip inferens, spesifikasi tidak selalu wajib.

Taip Inferens

  • Rujukan kepada pembina secara automatik memilih yang paling sesuai dengan kaedah antara muka berfungsi.

// Menunjukkan rujukan pembina.
// MyFunc ialah antara muka berfungsi yang kaedahnya mengembalikan
// rujukan MyClass.
Antara muka MyFunc {
MyClass func(String s);
}
kelas MyClass {
String peribadi str;
// Pembina ini mengambil satu hujah.
MyClass(String s) { str = s; }
// Ini ialah pembina lalai.
MyClass() { str = ""; }
// ...
String getStr() { return str; }
}
kelas ConstructorRefDemo {
utama lompang statik awam(String args[])
{
// Mencipta rujukan kepada pembina MyClass.
// Memandangkan kaedah func() MyFunc mengambil satu hujah,
// rujukan baharu pembina berparameter MyClass
// dan bukan pembina lalai.
MyFunc myClassCons = MyClass::new; Rujukan pembina
// Mencipta contoh MyClass menggunakan rujukan pembina ini.
MyClass mc = myClassCons.func("Ujian");
// Gunakan instance MyClass yang baru dibuat.
System.out.println("str dalam mc ialah " mc.getStr());
}
}

Atas ialah kandungan terperinci Rujukan pembina. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan