final关键字:
final是最终的意思。可以修饰类、方法、变量。
修饰类:该类就被称为最终类,特点是不能被继承了。
修饰方法:该方法是最终方法,特点是不能被重写了。
修饰变量:该变量只能被赋值一次。
有些工具类被设计成final类,不想让别人继承,只提供方法给别人使用。
例如:pi就是不想让别人再次对他进行赋值。
常量:public static final 修饰的成员变量,建议名称全部大写,多个单词下划线连接。
一般情况下,我们不使用final修饰实例变量。
final修饰变量的注意事项:
final修饰基本类型的变量,变量存储的数据不能被改变。
final修饰引用类型的变量,变量存储的地址不能被改变,但地址所指向对象的内容是可以被改变的。
数组,改数据是可以的,但是改数组的地址就不报错了。
补充知识:常量
使用了static final修饰的成员变量就称为常量。
作用:通常用于记录系统的常量信息。
package cn.ensource.d3_final;
public class Test2 {
private static final String SCHOOL_NAME = "黑马程序员";
public static void main(String[] args) {
// 目标:认识常量
System.out.println(SCHOOL_NAME);
System.out.println(SCHOOL_NAME);
System.out.println(SCHOOL_NAME);
System.out.println(SCHOOL_NAME);
}
}
维护性比较好。
编译:宏替换。
好维护,性能不受影响。