Документы для класса Java Enum содержат следующее о getDeclaringClass
:
Возвращает соответствующий объект класса к этому перечисляемому постоянному типу перечисления. Два константы enum e1 и e2 относятся к тот же тип перечисления тогда и только тогда, когда e1.getDeclaringClass() == e2.getDeclaringClass(). (Значение возвращенный этим методом, может отличаться от того, который был возвращен Object.getClass() для перечисления константы с константным классом тел.)
Я не понимаю, когда getClass
и getDeclaringClass
разные. Может ли кто-нибудь привести пример вместе с объяснением?