1 final修饰符的特点
final关键字是最终的意思,可以修饰类、修饰方法、修饰变量。
- final修饰类:该类称为最终类,特点是不能被继承
- final修饰方法:该方法称之为最终方法,特点是不能被重写。
- final修饰变量:该变量只能被赋值一次。
final修饰变量的注意
final修饰基本类型的变量,变量存储的数据值不能被改变。
final修饰引用类型的变量,变量存储的地址值不能被改变,但地址所指向对象的内容是可以被改变的。
2 常量
-
被 static final 修饰的成员变量,称之为常量。
-
通常用于记录系统的配置信息
-
注意!常量名的命名规范:建议使用大写英文单词,多个单词使用下划线连接起来。
public class Constant {
//常量: 定义一个常量表示学校名称
//为了方便在其他类中被访问所以一般还会加上public修饰符
//常量命名规范:建议都采用大写字母命名,多个单词之前有_隔开
public static final String SCHOOL_NAME = "清华大学";
}
public class FinalDemo2 {
public static void main(String[] args) {
//由于常量是static的所以,在使用时直接用类名就可以调用
System.out.println(Constant.SCHOOL_NAME);
System.out.println(Constant.SCHOOL_NAME);
System.out.println(Constant.SCHOOL_NAME);
System.out.println(Constant.SCHOOL_NAME);
System.out.println(Constant.SCHOOL_NAME);
System.out.println(Constant.SCHOOL_NAME);
System.out.println(Constant.SCHOOL_NAME);
}
}
使用常量记录系统配置信息的优势、执行原理:
代码可读性更好,可维护性也更好
程序编译后,常量会被“宏替换”:出现常量的地方全部会被替换成其记住的字面量,这样可以保证使用常量和直接用字面量的性能是一样的