final:用于声明属性,方法和类
属性:定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改
方法:定义必须有实现代码,并且子类里不可被覆盖
类:不能被定义为轴象类或接口,不可被继承
与static的区别:
final不可被修改,static可以被修改
当final修饰属性时:基本数据类型的属性将成为常量,不能被修改
例如: π 3.1415926
E 2.7182818
1) private static final pai=3.14;
2) private final level;
当没有在一开始时定义初始值,则必须在构造方法中定义初始值,这样在创建对象时,将不会改变这个值
public test(){
level=0;
}
public test(String name){
this.name=name;
level=0;
}
final也可以修饰局部变量,例如
public int XXX(final int a){...}