1.final可以用来修饰的结构:类 方法 变量;
a.final用来修饰一个类;此类不能被其他类继承;比如 String类,System StringBuffer 无需扩展功能
b.final用来修饰方法:表名此方法不可以被重写 Object 中的 getClass
c.fianl来修饰变量:此时的变量 就称为 常量;常量需要大写
final修饰属性:可以考虑赋值的位置 显示初始化;代码块中赋值;构造器中赋值;
final修饰局部变量:
尤其使用final修饰形参是,表明此形参是一个常量,当调用此方式是,给常量赋一个实参,一旦赋值以后,方法内只能调用不可以修改
2、static final :属性 方法
static final 修饰属性 全局常量
static fianl 修饰方法:方法不可以被重写,方法随着类的加载而加载;
1 final class FinalA{ 2 final int num =10; 3 final int WIDTH; 4 final int RIGHT; 5 //final int DOWN; 6 { 7 WIDTH = 10; 8 } 9 public FinalA(){ 10 RIGHT = 1; 11 } 12 public FinalA(int n){ 13 RIGHT = n; 14 } 15 16 public final void show() { 17 // num = 20;//不可以更改常量的值 18 } 19 public final void show(final int num) { 20 //num = 30;//方法内不可以更改num的值,只能调用他 21 22 } 23 } 24 ////final class FinalB extends FinalA{ 25 ////不可以重写show(); 26 //}