文章目录
一、final介绍
在Java中,final 关键字用于声明一个变量、方法或类是不可变的。它可以应用于以下几个上下文中:
1. 修饰变量
当用 final 修饰一个变量时,表示该变量只能被赋值一次,即它是一个常量。一旦赋值后,就不能再修改。例如:
final int NUM = 10;
2. 修饰方法:
当用 final 修饰一个方法时,表示该方法不能被子类重写(覆盖)。例如:
Copy code
public final void someMethod() {
// 方法体
}
3 .修饰类
当用 final 修饰一个类时,表示该类不能被继承,即它是一个最终类。例如:
Copy code
public final class SomeClass {
// 类定义
}
作用
final 的作用是提供一种约束机制,确保变量、方法或类的状态在初始化后不会被修改,或者在继承和扩展方面提供额外的安全性。使用 final 可以使代码更易于理解和维护,并提高代码的安全性和健壮性。
如果不添加 final 关键字,则变量、方法或类将不受约束,可以随时被修改或继承。
二、与static的比较
当涉及到 final
关键字时,可以将其与其他关键字进行比较,例如 static
。下面是关于 final
和 static
的比较:
1. final vs. static:
final
关键字用于声明不可变的变量、方法或类,其值在初始化后不能被修改。
static
关键字用于声明静态变量、方法或类,其在类加载时初始化,且只有一份拷贝,可以通过类名直接访问。
2. final vs. 非final:
使用final
声明的变量是不可变的,它的值在初始化后不能被修改。这种约束可以提高代码的安全性和健壮性,因为它防止了意外的修改。
没有使用final
声明的变量是可变的,可以被重新赋值。这意味着它的值可以在程序的执行过程中改变。