2016-07-20 93 views
0

靜態方法不應包含狀態。 '狀態'在這裏意味着什麼?靜態方法中的無狀態意味着什麼?

我讀過那個靜​​態方法不需要實例化,也不用實例化變量。那我什麼時候可以使用靜態方法?我讀過靜態方法不好?編碼時應該包括它嗎?

回答

0

狀態意味着存儲一些信息,當一個類被加載時會加載靜態方法,所以不需要實例來調用靜態方法,您可以使用類的名稱調用此方法,它取決於何時使用靜態的條件方法。您可以使用靜態方法作爲產品的單個組件,只需傳遞參數並完成工作即可。

0

如這裏的答案是一個例子:

public class SomeUtilityClass { 
    private static boolean state = false; 
    public static void callMeTwiceImBad() throws Exception { 
    if (state) { 
     throw new Exception("I remember my state from previous call!"); 
    } 
    state = true; 
    } 
    public static int sum(int a, int b) { 
    return a + b; 
    } 
} 

就其本身而言,它們既不壞也不好,他們只是靜態的。

相關問題