首页 > 解决方案 > 继承枚举的子类:ClassNotDefinedError

问题描述

现状:

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

现在,让我们假装我们真的,真的不喜欢“A”这个名字。所以我们想把它重命名为“B”。麻烦的是,这是一个库,我们希望保持向后兼容。嗯,这应该是可能的,对吧?

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

在另一个文件中:

@Deprecated
public class A extends B {
}

现在的问题是旧代码会收到 A$C 不存在的抱怨。

除非我将枚举留在 A 类中并让 B 扩展 A,否则这似乎无法解决,这并不能真正帮助我们摆脱 A。

标签: javainheritanceenums

解决方案


推荐阅读