Final 最终的,无法改变的
1.final数据
1)It can be a compile-time constant that won’t ever change.
2)It can be a value initialized at run time that you don’t want changed.
基本类型:final数值恒定不变
final int i = 1; //i的数值不可再更改
对象引用:final对象引用恒定不变
Class Value{ int i; public Value(int i){ this.i = i;}
}
public class FinalData{ final Value v = new Value(20); public static void main(String[] args){ FinalData fd = new FinalData(); fd.v.i++;//v的值可以改变,但不能再指向新的对象 //fd.v = new Value(10); final field v cannot be assigned }
2.final方法
类中所有private方法都被隐式指定为是final的。
3.final类
将类定义为final时,就表明不会再继承该类。
final类禁止继承,所以final类中所有的方法都隐式指定为是final的。