eclipse中不符合编译规范但是可以通过编译还能运行的原因

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)。它是一个增量式编译器,而且对错误的容忍度非常高,即便在代码有编译错误的情况下也可以生成可执行的字节码。

避免方法

猜你喜欢

转载自blog.csdn.net/qq_39655510/article/details/111317276