《Java 核心技术卷1 第10版》学习笔记------ final 关键字详解

可以将实例域定义为 final。 构建对象时必须初始化这样的域。也就是说, 必须确保在每
一个构造器执行之后, 这个域的值被设置, 并且在后面的操作中, 不能够再对它进行修改。

例如, 可以将 Employee 类中的 name 域声明为 final, 因为在对象构建之后, 这个值不会再
被修改, 即没有 setName 方法。

class Employee
{
    private final String name;
}


final 修饰符大都应用于基本 (primitive) 类型域,或不可变(immutable) 类的域(如果类
中的每个方法都不会改变其对象, 这种类就是不可变的类。
例如,String类就是一个不可变
的类 )。
对于可变的类, 使用 final 修饰符可能会对读者造成混乱。例如,
private final StringBuiIcier evaluations;
在 Employee 构造器中会初始化为
evaluations = new StringBuilder();
final 关键字只是表示存储在 evaluations 变量中的对象引用不会再指示其他 StringBuilder
对象。 不过这个对象可以更改:

public void giveGoldStarO
{
    evaluations.append(LocalDate.now() + ": Gold star!\n");
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值