Java構造器 小白版

椰椰210162701037發表於2024-08-12

一、構造器的定義

構造器也叫構造方法,是用於例項化Java物件的一個特殊方法,是一個建立物件時被自動呼叫的特殊方法.方法名必須和類名保持一致,並且無返回值型別.(作用)用於物件的初始化。

public 類名(){

}

Java透過new關鍵字來呼叫構造器,從而返回該類的例項

二、構造器的宣告格式

[修飾符] 類名(形參列表){
    //n條語句
}

若無引數列表,稱為無參構造器(空構造器);

若有引數列表,稱為有參構造器。

三、構造器的特點

  1. 構造器的方法名必須與類名保持一致;
  2. 構造器透過new關鍵字進行呼叫;
  3. 構造器不能定義返回值型別,不能在構造器例使用return關鍵字來返回耨個值;
  4. 如果一個類中有構造器,那麼系統不會分配預設的空構造器,需要手動新增無參構造器;如果一個類沒有定義構造器,則編譯器會自動定義一個無參構造方法。

四、構造器的過載

構造方法也是方法,與普通方法一樣,構造方法也可以過載。

 //編寫一個帶引數的構造器
    public Person(String name, int age, String sex) {
        this.name = name; //this.name代表Person中的屬性name,= 後面的name代表構造器中的引數name
        this.age = age;
        this.sex = sex;
    }
    //方法過載
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

五、構造器快捷鍵

Alt + insert —>constructor——>選擇屬性

六、例項

public class Person {
    String name;
    int age;
    String sex;

    //定義一個學習方法
    public void study(){
        System.out.println("Good good study, day day up!");
    }

    //顯式編寫一個空構造器
    public Person() {
        System.out.println("Person 空構造器");
    }

    //編寫一個帶引數的構造器
    public Person(String name, int age, String sex) {
        this.name = name; //this.name代表Person中的屬性name,= 後面的name代表構造器中的引數name
        this.age = age;
        this.sex = sex;
    }
    //方法過載
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public static void main(String[] args) {
        Person p1 = new Person("二兩客", 22, "Male");
        System.out.println(p1.name + " " + p1.age + " " + p1.sex);
        p1.study();
        Person p2 = new Person("椰椰", 22);
        System.out.println(p2.name + " " + p2.age);
        p2.study();
    }
}
public class Test02 {
    public static void main(String[] args) {
        /*
         * 建立一個person物件
         * new person();
         * person();———————>空構造方法
         * new 關鍵字對方法進行呼叫,
         * 構造器作用:底層自動幫我們建立物件,在建立物件以後進行初始化操作
         * 如果一個類沒有顯式編寫構造器,則系統會自動提供一個空構造器,即無參構造器
         * 空構造器的作用:建立一個物件,但不進行任何初始化操作
         * 呼叫構造器以後,對物件進行初始化操作,將物件的地址返回給person
         */
        Person person = new Person("椰椰", 22, "male");

        System.out.println(person.name+""+person.age+""+person.sex);

        Person person2 = new Person("椰椰",+22);
        System.out.println(person2.name+""+person2.age);
    }
}

相關文章