我第一次运行代码很好。但是,当我尝试再次运行代码时。
错误:
无法找到或加载主类Dog;
原因:java.lang.NoClassDefFoundError:狗(错误名称:Dog)
代码:
public interface animal{
default void greet(animal a){
System.out.println("Hello,Animal");
}
default void sniff(animal a){
System.out.println("sniff animal");
}
default void praise(animal a){
System.out.println("u r a good animal");
}
}
public class Dog implements animal{
@Override
public void sniff(animal a){
System.out.println("dog sniff animal");
}
void praise(Dog d){
System.out.println("u r a good dog");
}
public static void main(String[] args) {
Dog d = new Dog();
animal a=new Dog();
a.greet(d);
a.sniff(d);
d.praise(d);
a.praise(d);
}
}
我尝试了很多别人提供的解决方案,大多数都没用。一种可行的解决方案是我更改了jdk版本。但它没那么有用。当我更改jdk版本时,第一次运行没有问题。第二次我想运行该程序时,出现同样的错误。所以我想知道为什么当我尝试再次运行该程序时会发生这种情况。
使缓存无效并删除目标目录并再次尝试运行