final:最终的
- final可以用来修饰的结构:类、方法、变量
- final 用来修饰一个类:此类不能被其他类所继承
比如:String、System类、StringBuffer类 - final 用来修饰方法:表明此方法不能被重写
比如Object类中的getClass(); - final 用来修饰一个变量:此时的“变量”就称为一个常量
4.1 final修饰属性:可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化
4.2 final修饰局部变量
尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法是,给常量形参赋一个实参,一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值
static final 用来修饰属性:全局常量
public class FinalTest{
//显式初始化
final int WIDTH=10;
//代码块中初始化
final int LEFT;
{
LEFT=1;
}
//构造器中初始化
final int RIGHT;
public FinalTest(){
RIGHT=2;
}
public void doWidth(){
// 会报错
// width=20;
}
//
public void show{
final int NUM=10;//常量
// 不可以继续赋值
// NUM+=20;
}
public void show(final int num){
}
public static void main(String[] args){
int num1=10;
num1=num1+5;
}
}
final class FinalA{
}
//会报错,不能被继承
//class B extends FinalA{
//}
class AA{
public final void show{
}
}
class BB extends AA{
// 不能被重写,会报错
// public void show{
// }
}