深入剖析 Java 類屬性與類方法的應用

發表於2024-02-24

Java 類屬性

Java 類屬性,也稱為欄位,是類中的變數。它們用於儲存與類相關的資料。

建立類屬性

在類定義中宣告屬性:

public class Main {
  int x; // 屬性
  String name; // 屬性
}

訪問類屬性

使用點語法訪問物件的屬性:

Main myObj = new Main();
myObj.x = 5; // 設定屬性值
System.out.println(myObj.x); // 獲取屬性值

修改類屬性

可以修改物件的屬性值:

Main myObj = new Main();
myObj.x = 5;
myObj.x = 10; // 修改屬性值
System.out.println(myObj.x); // 輸出 10

屬性型別

屬性可以是任何資料型別,包括:

  • 基本型別:int、double、boolean、char等
  • 引用型別:String、Date、List等

修飾符

可以使用修飾符來控制屬性的訪問許可權:

  • public:公開訪問
  • private:私有訪問
  • protected:受保護訪問
  • default:預設訪問

示例

public class Main {
  private int x; // 私有屬性
  public String name; // 公開屬性

  public void myMethod() {
    // 可以訪問私有屬性
    x = 10;
  }

  public static void main(String[] args) {
    Main myObj = new Main();
    // 可以訪問公開屬性
    myObj.name = "John Doe";
    // 無法訪問私有屬性
    // myObj.x = 5; // 錯誤
  }
}

一些額外的說明:

  • 在 Java 中,類屬性通常被定義為private,以便只能透過類的方法來訪問它們。
  • 為了方便起見,也可以將類屬性定義為public,但這會使它們更容易被意外更改。
  • 建議使用getter和setter方法來訪問和修改類屬性,以便更好地控制對屬性的訪問。

示例:

public class Main {
  private int x;

  public int getX() {
    return x;
  }

  public void setX(int x) {
    this.x = x;
  }

  public static void main(String[] args) {
    Main myObj = new Main();
    myObj.setX(5);
    System.out.println(myObj.getX()); // 輸出 5
  }
}

在這個示例中,x 屬性是私有的,但可以透過 getX() 和 setX() 方法來訪問和修改。

還有一些其他與類屬性相關的內容:

  • 靜態屬性:靜態屬性屬於類本身,而不是類的例項。
  • 常量屬性:常量屬性的值不能被修改。
  • 列舉屬性:列舉屬性的值只能是預定義的一組值之一。

Java 類方法

Java 類方法 是在類內宣告的程式碼塊,用於執行特定的操作。它們類似於函式,但與類本身相關聯,而不是與類的例項相關聯。

建立類方法

使用 static 關鍵字宣告類方法:

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }
}

呼叫類方法

使用類名和方法名,後跟括號 () 呼叫類方法:

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

示例:

public class Main {
  static void myMethod(String name) {
    System.out.println("Hello, " + name + "!");
  }

  public static void main(String[] args) {
    myMethod("John Doe");
  }
}

輸出:

Hello, John Doe!

類方法與例項方法

  • 類方法屬於類本身,而例項方法屬於類的例項。
  • 類方法可以直接透過類名呼叫,而例項方法需要透過類的例項呼叫。
  • 類方法通常用於執行與類相關的通用操作,而例項方法通常用於操作類的例項。

修飾符

可以使用修飾符來控制類方法的訪問許可權:

  • public:公開訪問
  • private:私有訪問
  • protected:受保護訪問
  • default:預設訪問

示例:

public class Main {
  private static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    // myMethod(); // 錯誤,無法訪問私有方法
  }
}

一些額外的說明:

  • 類方法通常用於執行與類相關的通用操作,例如:

    • 建立新例項
    • 驗證輸入
    • 提供工具類方法
  • 例項方法通常用於操作類的例項,例如:

    • 獲取或設定屬性值
    • 執行計算
    • 改變物件的狀態
  • 可以使用 final 關鍵字宣告類方法,使其無法被重寫。
  • 可以使用 abstract 關鍵字宣告抽象類方法,其定義必須由子類提供。

最後

為了方便其他裝置和平臺的小夥伴觀看往期文章:

微信公眾號搜尋:Let us Coding,關注後即可獲取最新文章推送

看完如果覺得有幫助,歡迎 點贊、收藏、關注

相關文章