final可以修饰类,方法,变量
特点:
final修饰类的特点:被final修饰的类不能被继承
final修饰方法的特点:被final修饰的方法不能被重写
final修饰变量的特点:被final修饰的变量不能被重新赋值,是一个常量
final修饰成员变量:
- 显式初始化:定义时赋值
- 代码块初始化
- 构造器中初始化
说明:在构造器中赋值,必须是每个构造器都要赋值
这些初始化方式,都说明了一个问题,就是final成员变量必须在对象创建之前被赋值,对象创建之后不允许赋值。
final修饰局部变量
形参:final修饰的形参,可以赋值,但是在此方法中不允许再被修改
其他局部变量在方法中定义后,一旦赋值后也无法再修改–只能赋值一次,不允许进行再次赋值。
final修饰方法
定义方法:
public final void show() {
System.out.println("show");
}
final修饰变量
定义变量:【定义变量则会变为常量,必须赋值】
常量:
-
字面值常量:
"hello"或12
-
自定义常量:
final int a=10;
一般使用static和final来修饰一个不可修改的常量,表示全局常量
final修饰的变量赋值一般有两种方式:
- 构造器赋值
public final Integer i; public TestMain(Integer i) { this.i = i; }
- 直接赋值
public final Integer i =10;
赋值过后不允许二次赋值
final修饰类
public final class Test{
}