新聞中心
new關(guān)鍵字創(chuàng)建數(shù)組實(shí)例,并將其賦值給類(lèi)的成員變量。,,“java,public class MyClass {, private int[] myArray;,, public MyClass(int size) {, myArray = new int[size];, },},“在Java中,構(gòu)造器是一個(gè)特殊的方法,用于初始化一個(gè)類(lèi)的對(duì)象,構(gòu)造器的名稱(chēng)與類(lèi)名相同,沒(méi)有返回類(lèi)型(即使是void也不需要),并且可以有參數(shù),構(gòu)造器的主要作用是創(chuàng)建對(duì)象并對(duì)其進(jìn)行初始化。

高淳ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!
構(gòu)造器的使用
1、無(wú)參構(gòu)造器
無(wú)參構(gòu)造器是最簡(jiǎn)單的構(gòu)造器,它沒(méi)有任何參數(shù),當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),如果沒(méi)有提供任何參數(shù),那么無(wú)參構(gòu)造器將被調(diào)用。
public class Person {
private String name;
private int age;
// 無(wú)參構(gòu)造器
public Person() {
name = "未知";
age = 0;
}
}
2、有參構(gòu)造器
有參構(gòu)造器接受一個(gè)或多個(gè)參數(shù),這些參數(shù)用于初始化對(duì)象的屬性,當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),如果提供了參數(shù),那么有參構(gòu)造器將被調(diào)用。
public class Person {
private String name;
private int age;
// 有參構(gòu)造器
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
3、重載構(gòu)造器
在同一個(gè)類(lèi)中,可以有多個(gè)構(gòu)造器,它們具有相同的名稱(chēng)但參數(shù)列表不同,這就是構(gòu)造器的重載。
public class Person {
private String name;
private int age;
// 無(wú)參構(gòu)造器
public Person() {
name = "未知";
age = 0;
}
// 有參構(gòu)造器1
public Person(String name) {
this.name = name;
age = 0; // 默認(rèn)年齡為0
}
// 有參構(gòu)造器2
public Person(int age) {
this.name = "未知"; // 默認(rèn)姓名為"未知"
this.age = age;
}
}
4、鏈?zhǔn)綐?gòu)造器
鏈?zhǔn)綐?gòu)造器是指在一個(gè)構(gòu)造器中調(diào)用同一個(gè)類(lèi)的另一個(gè)構(gòu)造器,這樣可以簡(jiǎn)化代碼,提高可讀性。
public class Person {
private String name;
private int age;
private String address;
// 有參構(gòu)造器1(包含地址)
public Person(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address; // 調(diào)用另一個(gè)有參構(gòu)造器2(只包含地址)來(lái)初始化address屬性
}
}
構(gòu)造器的注意事項(xiàng)
1、構(gòu)造器不能被繼承,因此子類(lèi)的構(gòu)造器必須通過(guò)調(diào)用父類(lèi)的構(gòu)造器來(lái)初始化父類(lèi)的屬性,可以使用super()關(guān)鍵字來(lái)實(shí)現(xiàn)這一點(diǎn)。
public class Student extends Person {
private String school;
private String major;
// 子類(lèi)構(gòu)造器調(diào)用父類(lèi)構(gòu)造器來(lái)初始化父類(lèi)屬性(Person)和子類(lèi)屬性(School, Major)
public Student(String name, int age, String school, String major) {
super(name, age); // 調(diào)用父類(lèi)Person的有參構(gòu)造器1來(lái)初始化name和age屬性
this.school = school; // 初始化子類(lèi)屬性school和major屬性(省略了super()調(diào)用)
this.major = major; // 省略了super()調(diào)用,因?yàn)楦割?lèi)Person沒(méi)有與這兩個(gè)屬性相關(guān)的構(gòu)造器(如果有,需要添加相應(yīng)的super()調(diào)用)
}
}
2、如果一個(gè)類(lèi)沒(méi)有定義任何構(gòu)造器,那么編譯器會(huì)自動(dòng)為該類(lèi)生成一個(gè)默認(rèn)的無(wú)參構(gòu)造器,如果已經(jīng)定義了一個(gè)或多個(gè)構(gòu)造器,那么編譯器將不再自動(dòng)生成默認(rèn)的無(wú)參構(gòu)造器,如果需要使用默認(rèn)的無(wú)參構(gòu)造器,需要在類(lèi)中顯式地定義一個(gè)。
public class Person { // 沒(méi)有顯式定義無(wú)參構(gòu)造器,編譯器將不會(huì)自動(dòng)生成默認(rèn)的無(wú)參構(gòu)造器(如果沒(méi)有其他構(gòu)造器)
private String name; // ...其他屬性和方法...
}
當(dāng)前名稱(chēng):java中的構(gòu)造器如何使用到數(shù)組中
當(dāng)前地址:http://www.dlmjj.cn/article/cdpsdec.html


咨詢(xún)
建站咨詢(xún)
