帶你瞭解Java中Static關鍵字的用法
Java中Static關鍵字的一些用法詳解
1. Static 修飾類屬性,因為靜態成員變量可以通過類名+屬性名調用,非靜態成員變量不能通過類名+屬性名調用;
public class Student { private static int number;//靜態變量 private String name;//非靜態變量 public static void main(String[] args) { System.out.println(Student.number); System.out.println(Student.name);//會報錯 因為非靜態成員變量不能通過類名+屬性名調用 } }
2. Static 修飾類方法,可以通過類名.靜態方法名的方式調用靜態方法,不可以用類名.靜態方法名調用非靜態方法;
public class Student { public static void go(){};//靜態方法 public void run(){};//非靜態方法 public static void main(String[] args) { Student.go();//可以用類名.靜態方法名的方式調用靜態方法 Student.run();//報錯,不可以用類名.靜態方法名調用非靜態方法 } }
3. 靜態代碼塊,匿名代碼塊,構造函數。三者的調用順序為(靜態代碼塊(隻調用1次) –> 匿名代碼塊 –> 構造函數)。
public class Student { //匿名代碼塊,每創建一個student對象就會調用一次匿名代碼塊 { System.out.println("調用匿名代碼塊"); } //靜態代碼塊,和類加載一起發生,隻會調用一次 static { System.out.println("調用靜態代碼塊"); } //構造函數,每創建一個student對象就會調用一次該方法 public Student() { System.out.println("調用構造函數"); } public static void main(String[] args) { new Student(); new Student(); } }
【第三點 測試結果】
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!