Final對象

常量指不能改變的量。 在Java中用final標誌,聲明方式和變量相似:java

final double PI = 3.1415927;

雖然常量名也能夠用小寫,但爲了便於識別,一般使用大寫字母表示常量。web

 

關於常量的初始化問題:spa

package Main;

public class Main_final {
    
    // 常量第一種初始化方式(靜態與非靜態)
    public static final User user1 = new User();
    public final User user2 = new User();
    
    // 常量第二種初始化方式(靜態)
    public static final User user3;
    static {
        user3 = new User();
    }
    
    // 常量第三種初始化方式(非靜態)
    public final User user4;
    public Main_final(){
        user4 = new User();
    }

    public static void main(String[] arg){
        // 若是常量是一個對象,那麼不變的是對象引用,對象自己是可變的。
        user1.setUserID(1);
        user1.setUserName("1");

        Main_final main_final = new Main_final();
        main_final.user2.setUserID(2);
        main_final.user2.setUserName("2");
        
        user3.setUserID(3);
        user3.setUserName("3");
        
        main_final.user4.setUserID(4);
        main_final.user4.setUserName("4");
        
        // 常量對象指向另外一個對象時,失敗
        /*user1 = new User();*/
        
        System.out.println("user1: " + user1.getUserID());
        System.out.println("user2: " + main_final.user2.getUserID());
        System.out.println("user3: " + user3.getUserID());
        System.out.println("user4: " + main_final.user4.getUserID());
    }
    
}
相關文章
相關標籤/搜索