У меня есть класс enum, который содержит внутренний класс в Java.Внутренние классы в enums всегда статичны в 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()', а не на создание внутренних классов, объявленных внутри типа перечисления. –