java - 为什么Java中的两个嵌套类会导致异常?

标签 java noclassdeffounderror classnotfoundexception nested-class

为什么 java 抛出 NoClassDefFoundError?

NestedClassTest 类内部有两个嵌套类 X 和 Y。

当调用实例化X和Y的NestedClassTest的构造函数时,java在尝试实例化Y时抛出异常。

public class NestedClassTest {

    private X x = null;
    private Y y = null;

    public NestedClassTest()
    {
        x = new X();
        System.out.println(x.x);
        y = new Y();
        System.out.println(y.y);
    }

    private class X
    {
        public String x = "XXX";
    }

    private class Y
    {
        public String y = "YYY";
    }

    public static void main(String[] args) {
        NestedClassTest t = new NestedClassTest();

    }  
}

这是输出的一部分:

run:
XXX
Exception in thread "main" java.lang.NoClassDefFoundError: 
    Nestedclasstest/NestedClassTest$Y
    ...
Caused by: java.lang.ClassNotFoundException:
    nestedclasstest.NestedClassTest$Y
    ...

最佳答案

这没什么问题,如果您使用的是 eclipse,请执行一个项目,清理并重试,因为构建路径需要更新。

关于java - 为什么Java中的两个嵌套类会导致异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18016530/

相关文章:

java - 如何使用 manifest.mf 包含主类的正确位置?

java - 查找数组中元素周围的元素

java - 当您必须将节点添加到末尾(二叉树构造)时,如何继续移动根?

java - JTree Java代码,出现无法加载主类的错误,即使它有主类

java - 为什么在尝试运行我的应用程序时会收到 NoClassDefFoundError?

java - 创建对象数组时未找到类异常

java - java中 "->"是什么意思

java - Android中的自定义SeekBar,仅在开始时触摸时允许前进

java - Controller /Servlet 在 ServiceAPI 上抛出 NoClassDefFoundError

java - NoClassDefFoundError 和 ClassNotFoundException 的原因和区别是什么?