目录
在Java中,final
关键字用于指定一个不能被改变的实体。它可以用于修饰类、方法和变量。
1.final类:
当一个类被声明为final
时,意味着它无法被继承。这样做的好处是可以确保该类不会被子类修改。final
类中的所有方法都隐式地指定为final
方法。
public final class MyClass {
// 类定义和成员变量、方法
}
2.final方法:
当一个方法被声明为final
时,意味着它无法被重写。这样做的好处是可以确保该方法的行为始终保持一致。
public class MyClass {
public final void myMethod() {
// 方法体
}
}
3.final变量:
当一个变量被声明为final
时,意味着它的值无法被改变。final
变量可以是基本类型变量,也可以是引用类型变量。对于基本类型变量,其值无法改变。对于引用类型变量,其引用地址无法改变,但引用的对象本身是可以修改的。
-
final基本类型变量:
public class MyClass {
private final int num = 10;
public void myMethod() {
// 尝试修改final变量会报错
// num = 20;
}
}
-
final引用类型变量:
public class MyClass {
private final ArrayList<String> list = new ArrayList<>();
public void myMethod() {
// 允许向final引用类型变量中添加元素
list.add("hello");
// 尝试将final引用类型变量指向新的对象会报错
// list = new ArrayList<>();
}
}
注意,final
变量必须在声明时初始化,或者在构造方法中初始化。
4.总结:
final
关键字主要用于保护关键部分,防止它们被意外地修改。使用final
关键字可以提高代码的可读性和健壮性。