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());
    }
    
}
相关文章
相关标签/搜索