马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
学习内部类的时候遇到这个情况,我debug会跳入SecureClassLoader,里面的代码我也看不懂
代码如下public class homeWork07 {
public static void main(String[] args) {
Car car1 = new Car(41);
car1.getair().flow();
}
}
class Car {
private double tem;
public Car(double tem){
this.tem = tem;
}
public air getair(){
return new air();
}
public class air {
public void flow() {
if (tem > 40) {
System.out.println("吹冷风");
} else if (tem < 0) {
System.out.println("吹热风");
} else {
System.out.println("空调关闭");
}
}
}
}
从你提供的代码来看,它看起来是正确的。这个异常 java.lang.NoClassDefFoundError 通常是因为 Java 虚拟机在运行时找不到定义的类。错误信息 "wrong name:com/chat10ex/Car" 提示可能是你的类的包结构或者类的名称有问题。
你的类 Car 和 homeWork07 是否在正确的包内?根据错误信息,Java 虚拟机期望 Car 类在 com.chat10ex 包中。你需要确认你的代码的包结构是否正确, Car 类是否在 com.chat10ex 包中,并且你的 homeWork07 是否也在同一个包下。
此外,检查一下你的类名和文件名是否一致,因为在 Java 中,公共类的名称必须与文件名相同。例如,如果你的 Car 类是公共类,那么它应该在名为 Car.java 的文件中。
你也需要确认你的类路径是否正确。类路径是 JVM 和 Java 应用程序用来查找类的位置的一种环境变量。如果类路径设置不正确,那么 JVM 可能无法找到你的类。
总的来说,这个问题可能与你的代码无关,更可能是与你的项目配置和环境设置有关。
|