项目场景:
验证继承情况下子类创建对象时,先调用父类的构造方法,再调用子类的构造方法
问题描述
随机(不同次数的测试下)会产生Exception in thread "main" java.lang.NoClassDefFoundError错误
package everydayhomework;
public class Day09 {
public Day09(){
System.out.println("父类的");
}
public static void main(String[] args) {
DAY03 day = new DAY03();
}
}
class DAY03 extends Day09{
public DAY03() {
System.out.println("子类的");
}
}

原因分析:
我的同等目录下的包也存在着这个Day03这个类,与此类冲突了,但编译时没有报错,所以不容易发现,只不过和DAY03大小不同
解决方案:
将子类的类名DAY03修改成DAY10即可
本文探讨了Java中子类创建对象时可能出现的NoClassDefFoundError,原因在于子类构造函数调用了与同一包内同名但不同类的冲突。解决办法是修改子类的类名,以避免编译时遗漏的冲突。
5427

被折叠的 条评论
为什么被折叠?



