1. 程式人生 > >理解final static的使用場景以及具體含義

理解final static的使用場景以及具體含義

public class TestStaticFinal { 
        private static final String strStaticFinalVar = "aaa"
        private static String strStaticVar = null
        private final String strFinalVar = null
        private static final int intStaticFinalVar = 0; 
        private static final Integer integerStaticFinalVar = new
 Integer(8); 
        private static final ArrayList<String> alStaticFinalVar = new ArrayList<String>(); 

        private void test() { 
                System.out.println("-------------值處理前----------\r\n"); 
                System.out.println("strStaticFinalVar=" + strStaticFinalVar + "\r\n"
); 
                System.out.println("strStaticVar=" + strStaticVar + "\r\n"); 
                System.out.println("strFinalVar=" + strFinalVar + "\r\n"); 
                System.out.println("intStaticFinalVar=" + intStaticFinalVar + "\r\n"); 
                System.out.println("integerStaticFinalVar="
 + integerStaticFinalVar + "\r\n"); 
                System.out.println("alStaticFinalVar=" + alStaticFinalVar + "\r\n"); 


                //strStaticFinalVar="哈哈哈哈";        //錯誤,final表示終態,不可以改變變數本身. 
                strStaticVar = "哈哈哈哈";                //正確,static表示類變數,值可以改變. 
                //strFinalVar="呵呵呵呵";                    //錯誤, final表示終態,在定義的時候就要初值(哪怕給個null),一旦給定後就不可再更改。 
                //intStaticFinalVar=2;                        //錯誤, final表示終態,在定義的時候就要初值(哪怕給個null),一旦給定後就不可再更改。 
                //integerStaticFinalVar=new Integer(8);            //錯誤, final表示終態,在定義的時候就要初值(哪怕給個null),一旦給定後就不可再更改。 
                alStaticFinalVar.add("aaa");        //正確,容器變數本身沒有變化,但存放內容發生了變化。這個規則是非常常用的,有很多用途。 
                alStaticFinalVar.add("bbb");        //正確,容器變數本身沒有變化,但存放內容發生了變化。這個規則是非常常用的,有很多用途。 

                System.out.println("-------------值處理後----------\r\n"); 
                System.out.println("strStaticFinalVar=" + strStaticFinalVar + "\r\n"); 
                System.out.println("strStaticVar=" + strStaticVar + "\r\n"); 
                System.out.println("strFinalVar=" + strFinalVar + "\r\n"); 
                System.out.println("intStaticFinalVar=" + intStaticFinalVar + "\r\n"); 
                System.out.println("integerStaticFinalVar=" + integerStaticFinalVar + "\r\n"); 
                System.out.println("alStaticFinalVar=" + alStaticFinalVar + "\r\n"); 
        } 

        public static void main(String args[]) { 
                new TestStaticFinal().test(); 
        } 
}