java——面向對象(三)構造方法+this關鍵字

構造方法:

  • 構成:修飾詞+方法名(參數列表){

                  方法 

        }

      注:

  1. 沒有返回值這一項。
  2. 方法名必須與當前的類名一致。

創建自己的構造方法

分類:

  • 無參的構造方法:會將成員變量初始化成null或0或false等。
  • 有參的構造方法:會將成員變量先初始化並進行賦值(通過傳入的參數賦值)

構造方法的調用:

  • 調用時候的構成:類名+()
  • 作用:對對象的屬性進行初始化,如果我們不自己創建構造方法,系統會調用默認的無參構造方法。

注:1. 一旦創建了自己的構造方法,就不會調用系統默認的無參構造方法

       2. 多個構造方法直接是重載的關係

 

this關鍵字

  • this :是一個關鍵字,是一種引用數據類型,代表的是當前的對象,保存的是當前對象的地址。
  • 場景:想在當前類內部拿到當前對象的引用的時候使用this
  • 作用:1.區分成員變量和局部變量 
  •            2.可以在構造方法中調用其他重載的構造方法,提高代碼的複用性,簡化代碼。

關於this 的注意點

  1. 在作爲方法的時候,只適用於構造方法。
  2. 不能自己調用自己——死循環
  3. 不能相互調用——死循環
  4. 在構造方法中調用其他重載的方法時,必須寫在第一行
  5. 在靜態方法中無法使用this

public class Demo05 {
    public static void main(String[] args) {
        Student stu = new Student();//構造方法--系統默認創建的構造方法
        stu.name="bingbing";
        
        Student stu1 = new Student("bingbing");
        System.out.println(stu1.name);
        
    }
    
}

class Student{
    String name;
    int age;
    int weight;
    
    public void study() {
        System.out.println("study");
    }
    //創建無參的構造方法
    public Student() {
        //this();  自己調用自己會造成死循環
        //在構造方法的內部會自動的進行屬性的初始化
        System.out.println("無參構造方法");
    }
    
    //創建有參的構造方法
    //當成員變量與形參名字一致時,方法內部識別的是形參,依據的是就近原則
    //就近原則 是從內存的角度考慮遠近
    public Student(String name) {
        this.name = name;//給對象的屬性完成賦值
        System.out.println("有參的構造方法");
    }
    
    public Student(String name,int age) {
        //通過this調用其他構造方法的時候必須放在當前方法的第一行
        //System.out.println();
        this(name);//調用有一個參數的構造方法
        this.age = age;
        System.out.println("有參的構造方法");
    }
    
    public Student(String name,int age,int weight) {
        this(name,age);//代表在調用兩個參數的構造方法
        this.weight=weight;
        System.out.println("有參的構造方法");
    }
    
}

 

  

 

 

發佈了40 篇原創文章 · 獲贊 5 · 訪問量 6365
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章