Java关键字:final 01

final关键字可以声明类、成员变量、方法、本地变量。

// 声明类
// 不允许被继承 Cannot inherit from final 'java.lang.String'
public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
}
// 声明成员变量
private static final long serialVersionUID = -6849794470754667710L;

//声明方法及本地变量
public final void getDesc(){
    final int var = 2;
}

被final声明的类

不允许被继承 Cannot inherit from final 'java.lang.String'

被final声明的成员变量
1、必须被显示的指出初始值

//Variable 'var' might not have been initialized
private static final int var

2、在运行期不可以对变量再赋值

private static final int var = 1;

    private void setVar(int var){
      this.var = var; // 编译错误:Cannot assign a value to final variable 'var'
    } 

被final声明的局部变量
只能赋值一次,

public static final void getDesc(){
        final int var;
        var = 4;
        var = 8; //编译错误:Variable 'var' might already have been assigned to
        System.out.println(var);
    }

被final声明的方法
不能覆盖,(不能@Override

Method does not override method from its superclass

Java手册推荐使用方式
Java关键字:final 01_第1张图片

你可能感兴趣的:(日课)