Подкласс, наследующий перечисление: ClassNotDefinedError - PullRequest
0 голосов
/ 18 июня 2020

Статус-кво ante:

public class A {
    public enum C { ONE, TWO, THREE }
}

А теперь давайте представим, что нам действительно, очень не нравится имя «А». Итак, мы хотим переименовать его в «B». Проблема в том, что это библиотека, и мы хотим оставаться обратно совместимой. Что ж, это должно быть возможно, верно?

public class B {
    public enum C {ONE, TWO, THREE }
}

и в другом файле:

@Deprecated
public class A extends B {
}

Теперь проблема в том, что старый код получит жалобу на A $ C не существует.

Это кажется неразрешимым, если я не оставлю перечисление в классе A и не добавлю B для расширения A, что на самом деле не поможет нам избавиться от A.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...