構造器
什麼是構造器?
構造器通常也叫構造方法、建構函式,構造器在
new
物件的時候會被呼叫使用new關鍵字,本質是在呼叫構造器
語法:
public 類名 (引數列表,可以沒有引數) {
// 不能有return,返回值為空
}
- 特點一:必須和類的名字相同
- 特點二:一定,必須沒有返回值,但也不能用void。
例:
- 建立一個空的
Person
類
public class Person { } // 裡面什麼都不定義
- 發現能例項化出來這個
Person
類
public class Application {
public static void main(String[] args) {
Person person = new Person();
}
}
- 說明
Person
類裡存在一個空的構造器(無參構造器)
public class Person {
public Person() {
// 空的構造器
}
}
- 結論:一個類裡面即使什麼都不寫,也會存在一個方法(無參構造器)
顯示的定義一個無參構造器
public class Person {
public Person() {
// 無參構造器
}
}
-
無參構造器能例項化初始值
public class Person { String name; public Person() { // 例項化name的初始值 this.name = "小明"; } }
public class Application { public static void main(String[] args) { // 例項化一個類 Person person = new Person(); // 輸出person類的name屬性 System.out.printf("name的值為:" + person.name); } }
結果:
name的值為:小明
有參構造器
- 一旦定義有參構造器就一定得顯示的定義一個無參構造器
public class Person { String name; // 無參構造 public Person() { } // 有參構造 public Person(String name) { this.name = name; }}
-
在使用
Person
這個類建立物件時會出現方法過載public class Application { public static void main(String[] args) { // 例項化物件的時候傳入值 Person person = new Person("小紅"); System.out.printf("值為:" + person.name); }}
結果:
name的值為:小紅
因為使用這個類時有值傳入,所以程式就往有參構造那走了