JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

java 核心技术-12版 卷Ⅰ- 4.3.11 final 实例字段

wys521 2024-11-28 09:00:28 精选教程 21 ℃ 0 评论

原文

可以将实例字段定义为final。这样的字段必须在构造对象时初始化。也就是说,必须确保在每一个构造器执行之后,这个字段的值已经设置,并且以后不能再修改这个字段。例如,可以将Employee 中的name字段声明为final,因为在对象构造之后,这个值不会再改变,即没有setName 方法。

class Employee{

	private final String name;
  
  /// ....



}

final 修饰符对于类型为基本类型或者不可变类的字段尤其有用。(如果类中的所有方法都不会改变其对象,这样的类就是不可变类。例如,String 类就是不可变的。)

对于可变类,使用final 修饰符可能会造成混乱。例如,考虑以下字段:

private final StringBuilder evaluations;


它在 Employee 构造器中初始化为

evaluations = new StringBuilder();


final 关键字只是表示存储在 evaluations 变量中的对象引用不会再指示另一个不同的StringBuilder 对象。不过这个对象可以更改:



public void giveGoldStar(){

 evaluations.appent(LocalDate.now() + ": Gold start! \r\n ");
}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表