final 关键字
| 修饰对象 | 效果 |
|---|---|
| 类 | 不能有子类 |
| 方法 | 不能够被重写 |
| 变量 | 不能被赋值两次 |
final 限制变量不能被赋值两次。
public class FinalTest {
private final String user;
private final int a ;
// final变量在定义时赋值
private final String name = "lili";
private final Son son = new Son("xiaoming",16);
//final限制变量只能赋值一次,即son引用变量只能指向这个对象的地址,不能在赋值指向其他对象
// 可以修改变量指向的内容
public void changeSon() {
this.son.setAge(19);
}
// final 成员变量构造方法来赋值
// 两者只能选择一种
public FinalTest(String user,int a) {
this.user = user;
this.a = a;
}
public void change(){
// 错误,final 变量只不能在其他方法内赋值
// this.user = "java";
}
}
应用String类不可变原因:成员变量被final修饰,并且对可能修改该对象的方法通过new来修改。详细解释见
本文深入解析final关键字在Java中的使用,包括其对类、方法和变量的限制,如阻止类继承、防止方法重写及确保变量不可更改。同时,探讨了final如何应用于String类中以保证其不可变性。
1294

被折叠的 条评论
为什么被折叠?



