关于final
final可以修饰:类、方法、变量
- final修饰一个类:被final修饰的类不能被其他类所继承
- final修饰的方法:该方法不能被重写
- final修饰变量
当final修饰变量
1.final修饰属性:
显式初始化、代码块中初始化、构造器中初始化
- 如果每个对象的某个属性不一样就在构造器中赋值
- 如果大家的值一样 可以显式初始化
- 如果不是简单的一个值,而是调用了一个方法,这个方法可能还要抛异常去处理,那就放在代码块中去做
public class FinalTest {
final int WIDTH=0;
final int HEIGHT;
final int LEFT;
{
HEIGHT=1;
}
public FinalTest(){
LEFT =2;
}
public FinalTest(int x){
LEFT=x;
}
}
2,final修饰局部变量:
尤其是使用final修饰形参时,表明此形参是个常量。
当我们调用此方法时,给常量形参赋一个实参。一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值。
public void show(final int num){
//num=20;编译不通过
System.out.println(num);
}
static final 用来修饰属性:全局常量
[static:随着类的加载而加载]