Kaedah pembina kelas ialah kaedah khas, ini nama kaedah Ia mesti konsisten dengan nama kelas Pembinaan tidak boleh mempunyai nilai pulangan, tidak menggunakan void, dan tidak boleh dipanggil secara automatik apabila objek kelas dijadikan instantiated, dan boleh dipanggil apabila baru. Pembina umum digunakan untuk permulaan apabila menginstant objek kelas. Jika kelas tidak mempunyai pembina bertulis, sistem secara automatik menambah pembina tanpa hujah ke kelas ini semasa penyusunan. Jika pembina ditulis untuk kelas yang diisytiharkan, sistem tidak lagi menambah pembina tanpa parameter Adalah disyorkan bahawa selepas menulis pembina, adalah lebih baik untuk menulis pembina tanpa parameter.
Secara terang-terangan, ia adalah kaedah pembinaan tanpa parameter
Jika anda tidak t faham konsep, ia akan jelas dengan contoh.
Isytihar kelas A
public class A { }
Buat kaedah pembina A() dalam kelas A, dan cetak ayat
Kaedah pembina mestilah sama dengan nama kelas
public class A { public A(){ System.out.println("构造方法A()"); }}
Buat kelas ujian baharu dan nuw objek kelas A dalam kelas
public class Test { public static void main(String[] args) { A a = new A(); }}
Laksanakan yang utama kaedah dan cuba
Kaedah pembinaan adalah bersamaan dengan kaedah yang digunakan secara automatik dalam objek baharu
Pembinaan berparameter ialah pembina dengan parameter
Isytiharkan pembina berparameter dalam kelas A dan masukkan dua parameter jenis Rentetan, a dan b
public class A { public A() { } public A(String a, String b) { System.out.println(a + b); }}
Masukkan parameter apabila mencipta objek baharu a dalam kelas ujian
public class Test { public static void main(String[] args) { A a = new A("aaa", "bbb"); }}
Laksanakan kaedah utama
Apabila tiada pembina, binaan tanpa parameter disembunyikan dalam kelas. Tetapi apabila anda mencipta pembina parameter, pembina tanpa parameter tersembunyi hilang. Kemudian objek baharu hanya boleh mengambil parameter pada masa hadapan. Oleh itu, apabila membina pembina berparameter, anda mesti mencipta pembina tanpa parameter dan meletakkannya di sana.
Dalam bahasa Java, kelas mempunyai warisan tunggal dan antara muka pelaksanaan berbilang. Antara muka antara muka ialah warisan berbilang.
Mengapa kita harus mewarisi? Kerana subkelas ingin menambah fungsi baru berdasarkan kelas induk.
Subkelas mewarisi kaedah dan atribut kelas induk
Berikut ialah analisis contoh:
Kelas induk ialah seseorang, dan subkelas ialah pemandu berpengalaman.
Ciri-ciri manusia termasuk: dua tangan, dua mata, dua kaki, kebolehan makan dan minum
Pemandu tua itu mewarisi ciri-ciri manusia, dan mempunyai fungsi tambahan iaitu boleh memandu.
Kodnya adalah seperti berikut:
Ini ialah manusia yang mempunyai sifat dan fungsi berikut.
public class Ren { public final String shou = "两只手"; public final String jiao = "两只脚"; public final String yan = "两只眼"; public void chi() { System.out.println("会吃"); } public void he() { System.out.println("会喝"); }}
Ini adalah golongan veteran, diwarisi daripada manusia. Dan terdapat fungsi tambahan untuk memandu
public class Siji extends Ren { public void kai() { System.out.println("会开车"); }}
Ujian: Buat atribut output objek pemacu lama dan panggil kaedah.
public class Test { public static void main(String[] args) { Siji b = new Siji(); System.out.println(b.jiao); System.out.println(b.shou); System.out.println(b.yan); b.chi(); b.he(); b.kai(); }}
Liputan penulisan semula: nama kaedah, jenis pulangan, parameter formal semuanya sama . Jika ini berlaku, ia mestilah hubungan warisan.
Terlebih muatan: Kaedah dengan nama kaedah yang sama, jenis pulangan, bilangan parameter formal dan jenis yang berbeza tidak semestinya perhubungan warisan Mereka boleh berada dalam kelas yang sama, seperti pembina terlebih muatan
Oleh kerana subkelas tidak berpuas hati dengan kaedah kelas induk dan ingin mengubahnya, inilah cara subkelas mengatasi kaedah kelas induk.
Sebagai contoh, seseorang boleh makan dan minum, tetapi pemandu veteran itu tidak menyukai fungsinya makan, dan mahu menukarnya untuk makan tahi.
Kodnya adalah seperti berikut:
< . a class Terdapat dua kaedah dengan nama yang sama, tetapi jenis nilai pulangannya, jenis parameter dan bilangan parameter adalah berbeza.Pemandu lama menulis semula kaedah chi() manusia
Nama kaedah mestilah sama
public class Siji extends Ren { public void kai() { System.out.println("会开车"); } public void chi() { System.out.println("会吃屎"); }}
Atas ialah kandungan terperinci Bagaimana untuk menggunakan warisan, kaedah pembina, kaedah overriding dan overloading dalam JAVA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!