HOWTO · Java

在 Java 中使用靜態方法

本文介紹了在 Java 中何時使用靜態方法。

本頁內容

在 Java 中,static 關鍵字呼叫方法或變數而不例項化類的例項。不必做例項變數,直接用類名來呼叫成員變數和方法。

這種公共方法的一個例子是 main 方法。該函式不需要任何物件來呼叫這個命令;因此,程式執行從 main 開始。

靜態方法或變數屬於一個類而不是它的物件。你不需要建立類的例項來呼叫靜態方法。靜態成員也可以訪問靜態變數並更改相同變數的值。

靜態方法中的程式碼不太可能改變。此外,靜態方法不能被覆蓋。程式碼更改的可能性較小,因此必須在函式中提取。

下面列出了從靜態變數中獲得的優點。

  1. 靜態變數的使用提高了程式效能。一旦它們被建立,它們就會在需要時直接注入。
  2. 當不需要在方法名稱中新增 new 關鍵字時,方法呼叫變得更容易。相反,類名習慣於呼叫方法。

下面是演示在 Java 中使用靜態的程式。

public class Main {
  public static void main(String[] args) {
    College clg = new College();
    clg.display();
    System.out.println(clg.clgName);
    System.out.println(College.getName());
  }
}

class College {
  static String name = "IJK";
  String clgName = "IIT";

  static String getName() {
    //        return clgName;
    return name;
  }

  public void display() {
    System.out.println("I am in College");
  }
}

在上面的程式碼塊中,使用了靜態方法和靜態變數。

該程式碼建立了一個名為 StaticMethodRepresentation 的公共驅動程式類和一個非公共 College 類。College 類同時擁有靜態和非靜態成員。驅動程式函式嘗試使用 new 關鍵字建立 College 類的例項。new 關鍵字呼叫 College 類的公共建構函式。

由於沒有定義公共建構函式,JVM 呼叫類中的預設建構函式。類例項用於呼叫 College 類的公共 display 函式;被呼叫並列印存在的字串。

同樣,使用該類的例項,可以訪問其成員變數。但是要訪問靜態函式,不需要建立新的類例項。相反,可以使用類名來呼叫它。因此,在最後一個列印語句中,類名呼叫靜態函式。

在函式定義中,有一個註釋行。該行嘗試訪問類的非靜態成員。儘管如此,靜態成員只能訪問靜態成員;因此,訪問它們是不可行的。因此,從函式返回一個靜態字串。

上面程式碼塊的輸出顯示了靜態關鍵字的用法,如下所示。

I am in College IIT IJK