我在网上找不到任何关于此的引用资料。但只是想知道类中的最终字段是否应该始终是 static
还是只是一种约定。根据我对它们用途的理解,我觉得这更像是一种合乎逻辑的事情,而不是语言强加的事情。
最佳答案
当然不是。如果它们属于类,它们必须是静态的,如果它们属于类的实例,它们就不是静态的:
public class ImmutablePerson {
private static final int MAX_LAST_NAME_LENGTH = 255; // belongs to the type
private final String firstName; // belongs to the instance
private final String lastName; // belongs to the instance
public ImmutablePerson(String firstName, String lastName) {
if (lastName.length() > MAX_LAST_NAME_LENGTH) {
throw new IllegalArgumentException("last name too large");
}
this.firstName = firstName;
this.lastName = lastName;
}
// getters omitted for brevity
}
关于java - java 类的最终字段是否应该始终是静态的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14913442/