final
最终的意思
-
修饰类:类不能被继承
-
修改时方法:方法不能被重写
-
修饰变量:变量就变成了常量,只能被赋值一次
-
常量命名规范:全部使用大写,中间用下划线隔开
-
final定义常量一般会和public static 结合使用:
public static final String MAX_VALUE;
-
final在修饰引用数据类型的时候,不能改变它的引用,但是可以改变它的属性值
-
在方法上,修饰形参时(理解用,这么写没多大的意义)
-
XXX{ public static void method(final x) { System.out.println(x); } } XXX.method(10); XXX.method(20); // 输出 10 20
-
原因:第一个方法执行完毕后会弹栈,然后执行的第二个方法调用,所以还是赋值一次
-
-
使用final修饰成员变量,默认赋值为无效值,不赋值,会报错:可能尚未初始化变量 number
class Demo { final int num; public void print() { System.out.println(num) } } main(String[] args) { Demo p = new Demo(); p.print();// 此时报错,可能尚未初始化变量num }
-
所以使用final修饰一般使用显示赋值 即
final int num = 10;
-
或者在实例初始化之前赋值 即在无参构造中赋值
public Demo () { num = 10; }
-
-