public interface animal {
void run();
}
public class Cat implements animal {
void loud() {
System.out.println("asdas");
}
}
public class Demo1 {
public static void main(String[] args) {
Cat cat = new Cat();
cat.loud();
}
如上代码,cat类并未实现animal接口里的方法,但是eclipse编译可通过还可以运行。
原因:Eclipse JDT所使用的Java源码编译器是自己写的ECJ(Eclipse Compiler for Java)。它是一个增量式编译器,而且对错误的容忍度非常高,即便在代码有编译错误的情况下也可以生成可执行的字节码。
避免方法