java 構造方法(基礎)


java構造方法(基礎)

構造方法也叫構造器,是創建對象時執行的特殊方法,一般用於初始化新對象的屬性。它是專門用來創建對象的方法,當我們通過關鍵字new來創建對象時,其實就是在調用構造方法。

格式

public 類名稱 (參數類型 參數名稱){

方法體

}

例如代碼:

//一個無參構造的方法
    public Student(){
        System.out.println("無參構造執行");
    }

那么一個有參構造的方法體

 public Student(String name,int age){
        System.out.println("有參構造執行");
        this.name=name;//方便我們調用參數
        this.age=age;
    }

寫構造方法時需要注意的事項:

1.構造方法的名稱必須與前面的類的名稱相同。大小寫也要一樣。

2.構造方法不需要返回值類型,所以不需要寫void。

3.在構造方法體內不能返回具體的值。

4.當我們在一個類中不寫構造方法時 ,編譯器會默認給我們一個構造方法。且沒有參數,方法體也沒啥事干。

5.但如果我們要是寫了一個以上(至少一個)的構造方法,編譯器就不會再給我們構造方法。

6.我們寫的構造方法也是可以重載的,(方法重載:方法名相同,參數列表不同)

java方法基礎

可以點擊上面鏈接查看方法基礎。

構造方法的重載:

代碼:

 //一個無參構造的方法
    public Student(){
        System.out.println("無參構造執行");
    }
    //一個有參構造的方法
    public Student(String name,int age){
        System.out.println("有參構造執行");
        this.name=name;
        this.age=age;
    }//方法名相同,參數列表不同

構造方法完整代碼應用:

package Day01;
//首先我們寫一個Student類
public class Student {
    private String name;//兩個成員變量
    private int age;
    
 //我們來獲取這兩個private類型的變量,getter/setter方法。因為他們是private類型
  //  可以使用快捷鍵alt+insert  生成getter/setter方法,光標放在要生成方法的變量上。
    public String getName() {     //有參構造
        return name;
    }
    public void setName(String name) {    //無參構造
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
    //一個無參構造的方法
    public Student(){
        System.out.println("無參構造執行");
    }
    //一個有參構造的方法
    public Student(String name,int age){
        System.out.println("有參構造執行");
        this.name=name;
        this.age=age;
    }
}
寫一個測試類調用
    package Day01;

public class DemoStudent {
    public static void main(String[] args) {
        Student stu1 = new Student();//調用時直接new,執行無參構造
        System.out.println("***************");

        Student stu2 = new Student("王八",20);//全參構造
        System.out.println("姓名:" + stu2.getName()+",年齡 :" + stu2.getAge());
        //如果需要改變對象中的成員變量的內容,仍然需要使用setXxxx方法
        stu2.setAge(21);
        System.out.println("姓名:" + stu2.getName()+",年齡 :" + stu2.getAge());
    }
}

有錯誤感謝指正。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM