java學習筆記(二)static方法以及static程式碼塊
阿新 • • 發佈:2018-12-07
一:static方法
1.靜態方法中可以直接呼叫同類中的靜態成員,
但不能直接呼叫非靜態成員。
如果希望在靜態方法中呼叫非靜態變數,可以通過建立類的物件,
然後通過物件來訪問非靜態變數
2.
在普通成員方法中,則可以直接訪問同類的非靜態變數和靜態變數,
3.靜態方法中不能直接呼叫非靜態方法,
需要通過物件來訪問非靜態方法.
程式碼:
public class HelloWorld { static int score1 = 86; static int score2 = 92; public static int sum() { return score1+score2; } public static void main(String[] args) { int allScore = sum(); System.out.println("AllPermission" + allScore); } }
二.static程式碼塊:
在類的宣告中,可以包含多個初始化塊,當建立類的例項時,就會依次執行這些程式碼塊。
如果使用 static 修飾初始化塊,就稱為靜態初始化塊。
需要特別注意:靜態初始化塊只在類載入時執行,且只會執行一次,同時靜態初始化塊只能給靜態變數賦值,不能初始化普通的成員變數。
public class HelloWorld { String name; // 宣告變數name String sex; // 宣告變數sex static int age;// 宣告靜態變數age // 構造方法 public HelloWorld() { System.out.println("通過構造方法初始化name"); name = "tom"; } // 初始化塊 { System.out.println("通過初始化塊初始化sex"); sex = "男"; } // 靜態初始化塊 static{ System.out.println("通過靜態初始化塊初始化age"); age = 20; } public void show() { System.out.println("姓名:" + name + ",性別:" + sex + ",年齡:" + age); } public static void main(String[] args) { // 建立物件 HelloWorld hello = new HelloWorld(); // 呼叫物件的show方法 hello.show(); } }