【发布时间】:2017-10-05 18:29:08
【问题描述】:
我通常有这么小的类定义,如下:
public static class Annotation {
private final String brand;
private final Sentiment sentiment;
public Annotation(String brand, Sentiment sentiment) {
this.brand = brand;
this.sentiment = sentiment;
}
public String brand() {
return this.brand;
}
public Sentiment sentiment() {
return this.sentiment;
}
}
没有任何方法可以修改客户的“品牌”和“情感”。如果我删除 'final' 修饰符,我的 IntelliJ 会给我一个警告,说我应该添加 'final' 方法。
在这种情况下总是添加“final”是一种好习惯吗?
【问题讨论】:
-
编写代码不仅仅是执行一项任务。您正在向您的同事和未来的自己描述这项任务。通过将这些成员标记为最终成员,您可以与编辑此类的任何人交流,其目的是不应该更改这些成员。
-
这不是引用问题的重复。这个问题是关于使私有成员变量
final,而引用的问题是关于使 Class 本身成为最终的,所以它不能被扩展。 -
最终确定是一个见仁见智的问题。无论如何都会好的。
标签: java intellij-idea final