内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
Java类的 final 字段是否应该始终是静态的? |
---|
当然不是。如果它们属于类,则必须是静态的,如果它们属于类的实例,则不必须是静态的:
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 }