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

赫尔穆特

为什么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
    ...
塔拉

您的代码很好。

查看您的错误,您可能会遇到软件包不正确的问题。

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

nestedclasstest与Nestedclasstest。请参考这里参考

只需重新编译并再次运行,就可以正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么Java中两个短值的按位与运算会导致int值?

为什么两个仅在注释方面不同的java文件会产生不同的类文件?

为什么两个.C文件中的相同命名专用函数会导致多个定义错误?

为什么将 2 个 .NET 框架类相互比较会导致 stackoverflow 异常?

为什么在Java的一个文件中不能定义两个公共类?

为什么以不同顺序解锁两个锁定的银行帐户会导致死锁?

为什么相同的代码会导致两个不同的图表?

为什么在飞镖中将两个double相乘会导致非常奇怪的数字

为什么这两个功能会导致网站其他部分出现故障?

为什么访问两个连续元素的线程会导致“银行冲突”?

为什么两个数字相减会导致NAN

为什么嵌套XPATH条件中的函数会导致错误?

为什么在比较两个对象时.equals()会导致断言错误……但仅在某些情况下?

为什么两个 getline() 导致没有输入?

为什么这两个约束导致我的LP模型在Gurobi中不可行?

为什么在Java中将两个BigDecimal数字相除会引发ArithmeticException?

为什么Flask应用会创建两个进程?

为什么替换字符会删除两个括号?

如果“地址”嵌套在“用户”中,为什么必须同时保留两个对象?

内联显示两个div。为什么display:inline必须位于嵌套的div中?

为什么我的if语句不能在两个嵌套执行中确定正确的输出?

Java中的静态嵌套类,为什么?

php 中的静态,为什么它对两个类都使用一个缓存

定义两个包含相反类的类会导致 Redfinition 错误

由于CBW指令,有时添加两个单词会导致行为异常

为什么两个看似相同的变量会产生两个不同的结果?

嵌套两个流生成器会导致状态错误

为什么long和double在Java类的常量池中占用两个条目?

PMD:为什么有两个称为UnusedImports的规则,并且使用不同的Java类?