首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java `this` 關鍵字在建構子中可省略情況:參數與成員不重名時

     編輯:程式設計綜合問答

程式碼片段


public class Student {
    public String id;
    public String name;
    public Set course;
    public Student(String id, String name) {
        this.id = id;      // 必須 this,參數同名
        this.name = name;  // 必須 this,參數同名
        this.course = new HashSet(); // 可省略 this
    }
}

規則

  • 參數與成員同名:必須 用 this.member 區分,否則賦值給參數自身。
  • 參數與成員不同名:this 可省略,編譯器自動解析為成員變數。
  • this.course = new HashSet() 中 course 無同名參數,故 this 可寫可不寫。

最佳實踐

  1. 統一風格:團隊約定全部保留 this. 或全部省略,避免混淆。
  2. IDE 設定:Settings → Code Style → Java → Use 'this' qualifier for field access 統一格式化。
  3. 建構子參數命名慣例:id_、name_ 或 pId,避免同名,則可省略 this。

原答案核心

「最後一行可以不加,倒數第二行必須加,因為參數name和成員name同名,必須用this加以區分。」

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved