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

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


咨詢
建站咨詢
