14.構造器

WNAOII發表於2021-05-05

構造器

什麼是構造器?

構造器通常也叫構造方法、建構函式,構造器在new物件的時候會被呼叫

使用new關鍵字,本質是在呼叫構造器

語法:

public 類名 (引數列表,可以沒有引數) {
    // 不能有return,返回值為空
}
  • 特點一:必須和類的名字相同
  • 特點二:一定,必須沒有返回值,但也不能用void。

例:

  1. 建立一個空的Person
public class Person { }	// 裡面什麼都不定義
  1. 發現能例項化出來這個Person
public class Application {
    public static void main(String[] args) {
        Person person = new Person();
    }
}
  1. 說明 Person類裡存在一個空的構造器(無參構造器)
public class Person {
    public Person() {
        // 空的構造器
    }
}
  1. 結論:一個類裡面即使什麼都不寫,也會存在一個方法(無參構造器)

顯示的定義一個無參構造器

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的值為:小紅
    

    因為使用這個類時有值傳入,所以程式就往有參構造那走了

相關文章