CodeGym /Java Blog /Toto sisi /Java中的靜態類別是什麼?
John Squirrels
等級 41
San Francisco

Java中的靜態類別是什麼?

在 Toto sisi 群組發布
Java 是一種物件導向的程式語言,物件是 Java 中的主要建構塊。然而,Java也提供了靜態類別的概念。靜態類別是只能包含靜態方法、變數和巢狀類別的類別。在本文中,我們將探討靜態類別是什麼、它如何運作以及它在 Java 中的實作。

Java中的靜態類別

Java中的靜態類別是不能被實例化的類別。也就是說,我們不能建立靜態類別的物件。我們只能使用類別名稱本身來存取其成員。換句話說,靜態類別是只包含靜態成員的類別。靜態類別通常用於將相關的實用方法分組在一起。例如, Java 中的Math類是一個靜態類,它提供各種數學運算,例如求最大值或最小值、三角函數等。我們可以使用類別名稱和點運算子來存取 Math 類別中的方法,如下所示:Math.max(5, 10)

例子

讓我們來看看 Java 中靜態類別的範例。假設我們要建立一個類別來執行各種字串操作,例如反轉字串、查找字串的長度等等。在此範例中,我們建立了一個名為StringUtils的靜態類,其中包含兩個靜態方法:reverselength。這些方法將字串作為參數,並分別傳回反轉的字串和字串的長度。在main方法中,我們建立了一個字串str並將其傳遞給StringUtils類別的「reverse」和「length」方法。
public class StringUtils {

    public static String reverse(String str) {
        StringBuilder sb = new StringBuilder(str);
        return sb.reverse().toString();
    }

    public static int length(String str) {
        return str.length();
    }

    public static void main(String[] args) {
        String str = "Hello, World!";

        String reversedStr = StringUtils.reverse(str);
        int strLength = StringUtils.length(str);
        System.out.println(reversedStr);
        System.out.println(strLength);
    }
}
程式的輸出將是:
!dlrow,olleH 13
在下一個更新的範例中,我們在StringUtils類別中 新增了一個名為Formatter的靜態巢狀類別。這個靜態巢狀類別還包含一個名為format的靜態方法,該方法接受一個字串並傳回其大寫版本。 在main方法中,我們使用靜態巢狀類別Formatter來格式化字串str並將其列印到控制台。我們也呼叫了StringUtils類別的reverselength方法來分別反轉字串並找到其長度。
public class StringUtils {

    // nested Static class
    public static class Formatter {
        public static String format(String str) {
            return str.toUpperCase();
        }
    }

    public static String reverse(String str) {
        StringBuilder sb = new StringBuilder(str);
        return sb.reverse().toString();
    }

    public static int length(String str) {
        return str.length();
    }

    public static void main(String[] args) {
        String str = "Hello, World!";

        // Using static class
        String formattedStr = StringUtils.Formatter.format(str);
        System.out.println(formattedStr);

        String reversedStr = StringUtils.reverse(str);
        int strLength = StringUtils.length(str);
        System.out.println(reversedStr);
        System.out.println(strLength);
    }
}
程式的輸出將是:
你好世界!!dlrow,olleH 13
如您所看到的,Java 中的靜態類別還可以包含靜態巢狀類,這些類別可用於將相關功能組合在一起。

結論

總之,Java中的靜態類別是只能包含靜態方法、變數和巢狀類別的類別。我們無法建立靜態類別的對象,只能使用類別名稱本身存取其成員。靜態類別通常用於將相關的實用方法分組在一起。在上面的範例中,我們已經了解如何建立靜態類別並使用它來執行各種字串操作。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION