final

142 阅读1分钟

final修饰方法变量

  1. 修饰类 此类不能被继承, 例如StringSystemStringBuffer
final class Demo {}
  1. 修饰方法 此方法不能被重写
class Demo {
    public final void show() {}
}
  1. 修饰变量 此时就是一个常量
  • 成员变量
class Demo {
    // public final int num; // 必须赋值
    
    public final int num = 10; // 显示赋值
    
    public final int sum; // 代码块赋值
    {
        sum = 0;
    }
    
    public final double salary; // 构造器内赋值
    public Demo() {
        salary = 20000;
    }
}
  • 局部变量
class Demo {
    final int NUM = 5; // 不可以再被修改
    
    public void show(final int n) {
        // n = 60; // 错误,不能被修改
    }
}
  • static final int NUM = 10; 全局常量