谈谈 final 关键字
时间: 2024-08-12 09:06:26 浏览: 46
说一说java关键字final和transient
`final`关键字在Java中用于声明常量(类变量)或方法,表示该常量或方法不能被修改或重写。这有助于保证程序的稳定性,防止意外的更改。
1. **Final 常量**[^4]:
```java
final int MAX_VALUE = 100; // 定义一个不可更改的整数值
```
使用`final`关键字定义的常量在整个程序范围内都是固定的,试图重新赋值会编译错误。
2. **Final 方法**[^4]:
```java
public final void shutdown() { ... } // 该方法不能被子类覆盖
```
如果一个方法被声明为`final`,那么它不能在子类中被重写。这对于API设计尤其重要,因为子类不能改变父类的行为。
3. **Final 属性**[^4]:
类的实例字段可以被标记为`final`,表明其值在创建对象时确定并保持不变:
```java
class MyClass {
private final String name; // 创建对象时指定,之后不可变
}
```
请注意,`final`与`static`和`private`一起使用可以创建完全静态且不可变的对象,通常用于工厂模式或枚举。
阅读全文