我知道如何创建一个immutable class
. 我创建了以下 .
public class Employee {
private final int id;
private final String name;
private final int salary;
public Employee(int id, String name, int salary) {
this.id = id;
this.name = name;
this.salary = salary;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getSalary() {
return salary;
}
}
很少有文章还建议,您将您的类声明为final
,甚至Effective JAVA书都说“将您的方法标记为最终的,这样它们就不会被覆盖”。但是我不明白为什么我需要final
在类或setter
方法上使用,当字段被声明private
时final
?
或者文章和 EFFECTIVE JAVA 建议另一种方法!