1.對於static關鍵字的使用的時候對於修飾變數的時候,它相當於一個全域性變數;
2.對於static修飾一個函式的時候他是在類被載入的時候首先會被類載入,並且只能載入一次,並且這個方法可以不需要通過例項進行呼叫例如:
mystatic.java
package study; public class mystatic { public static int sta=0; public int st=0; //static方法優先被使用 static{ System.out.println("some static"); } //建立的mystatic 方法 public static void myStatic(){ System.out.println("static"); } public mystatic() { System.out.println("mystatic"); } public void demo(){ System.out.println("demo"); } }
test.java
package study; public class test { public static void main(String[] args) { mystatic my=new mystatic(); int demo=my.st;//建立物件呼叫非靜態變數 my.demo();//建立物件呼叫非靜態函式 mystatic.myStatic();//可以直接呼叫靜態方法; int a=mystatic.sta;//可以直接呼叫靜態變數 //int b=mystatic.st;這個會報錯,由於沒有提前建立物件 } }
結果:
some static mystatic demo static
對於這個結果,由於建立的是mystatic類的時候優先呼叫static方法,然後再進行呼叫構造方法後再進行呼叫其它方法。