STATIC:
1.可以聲明變量,加載時(shí)初始化變量,并賦值;
2.聲明一個(gè)方法,加載時(shí)初始化該方法的引用;
3.聲明一個(gè)類(lèi),加載時(shí)初始化該類(lèi)中的變量和語(yǔ)句,此類(lèi)中只能有變量和語(yǔ)句,不能有方法。

 在Java中你要調(diào)用一個(gè)class某一個(gè)方法時(shí)  
  你必須   你顯示列化它  
  或者你把它申明為   靜態(tài)的(static)  

SUN公司的一道測(cè)試題:

public class X{
     public static void main(String[] args){
      String s=new String("Hello");
      modify(s);
      System.out.println(s);
   }
   
   public static void modify(String s){
      s+=" World";
      }

}

what is the result?
分析一下:
1.執(zhí)行main,定義了字符串s 并賦值hello
2.調(diào)用方法modify(變量S) 我們注意到 modify方法是靜態(tài)的,即他在內(nèi)存中地址是固定的。也就是說(shuō)不管上面的方法引用modify時(shí) 傳過(guò)來(lái)的變量S是多少,對(duì)于modify方法都不重要,因?yàn)樗淖饔檬前炎约旱腟變量改變。
而外面的 引用 不起任何的作用;
把這個(gè)題目改改就好理解了:
public class X{
     public static void main(String[] args){
      String s=new String("Hello");
      modify(s);
      System.out.println(s);
   }
   
   public static void modify(String s){
      s+=" World";
   System.out.println(s);
      }

}

result: HelloWord
         Hello

3.有一點(diǎn)需要注意的是,當(dāng)傳過(guò)來(lái)的變量S是個(gè)數(shù)組,前面定義了S[0],傳的是S(起始地址)這種修改變的有意思了,也變得有意義了。modify才真正的有用