7
Java에서 내부 클래스를 포함하는 enum 클래스가 있습니다.열거 형의 내부 클래스는 Java에서 항상 정적입니까?
public enum MyEnum{
VALUE_1,
VALUE_2;
private static class MyInnerClass // is static here needed or can it be removed?
{
}
}
PMD는 '정적'수정이 (위반의 필요하지 않은 것을 저에게 말한다 : (실제 코드에서 내부적으로 내부 클래스를 사용하는 열거 선언 몇 가지 방법이있다) 예를 들어
UnusedModifier 규칙). 이것이 맞습니까, 아니면 PMD 버그입니까?
참고 : This question은 중복되지 않으므로 여기에서 묻는 것과 반대입니다.
JLS에 따르면 (http://docs.oracle.com/javase/specs/jls/se5.0/html/classes.html#8.9), "명시 적으로 인스턴스화를 시도하는 것은 컴파일 타임 오류입니다 열거 형 ". 그래서 정적이 중복되는 것 같아요. – Tetramputechture
JLS는'new MyEnum()'과 같은 것으로, enum 형으로 선언 된 내부 클래스를 인스턴스화하지 않습니다. –