Java - final
2022-06-22 本文已影响0人
aven_kang
final
final本意为“最终的、不可改变的”,可以修饰类、成员方法、以及成员变量
使用方式
final关键字修饰类体现在该类不能被继承
- 主要用于防止滥用继承,如:java.lang.String类等
public final class finalClass {
}
定义了一个类,该类本final修饰了,如果创建一个子类继承自finalClass则会报错
截屏2022-04-11 下午8.25.03.png
- final关键字修饰成员方法体现在该方法不能被重写,但是可以被继承
- 主要用于防止不经意间造成重写
final void show() {
}
- final关键字修饰成员变量体现在该变量必须初始化且不能改变
- 主要用于防止不经意间造成改变
private final String name = "jack";
final修饰的成员变量是必须初始化,但是不一定是要直接显示的初始化,可以在代码块里,或者在构造函数里初始化
public class subFinalClass {
private final int age;
{
age = 10;
}
subFinalClass() {
age = 10;
}
public static void main(String[] args) {
finalClass fln = new finalClass();
fln.name = "11";
}
}
在这段代码里,只能选择一个初始化,代码块或者构造函数,如果两个都写,会报错,因为final只能被赋值一次