Final对象
常量指不能改变的量。 在Java中用final标志,声明方式和变量类似:
final double PI = 3.1415927;
虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。
关于常量的初始化问题:
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()); } }