1.被final修饰的类不能被继承
2.被final修饰的方法不能被子类重写
3.被final修饰的变量
①基本数据类型:只能被赋值一次,不能修改
final int x = 250;
//x = 520; 报错
②引用数据类型:不能指向新的内存空间
final int[] arr = {1,2,3,4};
//arr = new int[]{5,6,7}; 报错
arr[0] = 0;
arr[1] = 0;
arr[2] = 0;
arr[3] = 0; //可以修改数据
③被final修饰的成员变量没有默认值,一定要赋值
1.在声明时直接给变量赋值(不常用)
final int a = 1;
通常使用public static final修饰成员变量,被称为“静态成员常量”。
public static final int APPLE_VALUE = 3000;
静态成员常量名要全大写,中间使用_连接。
2.在构造代码块里赋值(极少使用)
final int b;
{
b = 1;
}
3.在构造方法里赋值
final int a;
public Method() {
this.a = 250;
}