Java 中的 static 使用之靜態方法 Java 中的 static 使用之靜態方法 1、 靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。如: 如果希望在靜態方法中調用非靜態變數,可以通過創建類的對象,然後通過對象來訪問非靜態變數。如: 2、 在普通成員方法中,則可以直接訪 ...
Java 中的 static 使用之靜態方法
1、 靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。如:
如果希望在靜態方法中調用非靜態變數,可以通過創建類的對象,然後通過對象來訪問非靜態變數。如:
2、 在普通成員方法中,則可以直接訪問同類的非靜態變數和靜態變數,如下所示:
3、 靜態方法中不能直接調用非靜態方法,需要通過對象來訪問非靜態方法。如:
Java 中的 static 使用之靜態初始化塊
Java 中可以通過初始化塊進行數據賦值。如:
在類的聲明中,可以包含多個初始化塊,當創建類的實例時,就會依次執行這些代碼塊。如果使用 static 修飾初始化塊,就稱為靜態初始化塊。
需要特別註意:靜態初始化塊只在類載入時執行,且只會執行一次,同時靜態初始化塊只能給靜態變數賦值,不能初始化普通的成員變數。
我們來看一段代碼:
運行結果:
通過輸出結果,我們可以看到,程式運行時靜態初始化塊最先被執行,然後執行普通初始化塊,最後才執行構造方法。由於靜態初始化塊只在類載入時執行一次,所以當再次創建對象 hello2 時並未執行靜態初始化塊。