我发现了Java 1.7_51和Java 1.8_20之间存在一些困难和谨慎。
最初的情况:
一个接口:
interface InterfaceA {
public void doSomething();
}
两个类:
public class ClassA implements InterfaceA {
public void doSomething() {
System.out.println("Hello World!");
}
}
public class ClassB {
public static void main(String[] args) {
ClassA a = new ClassA();
a.doSomething();
}
}
接下来,我使用Java 1.8编译了这些类 -> javac *.java,在编译完成后,我删除了InterfaceA.java和InterfaceA.class文件。现在,我尝试再次编译只有ClassB.java,但是出现了错误消息:
ClassB.java:4: 错误: 无法访问InterfaceA a.doSomething();
找不到InterfaceA的类文件 1个错误
我也用Java 1.7尝试了同样的操作 -> javac *.java,在编译完成后,我删除了InterfaceA.java和InterfaceA.class文件,但是这次我没有收到任何错误消息..
有人能解释一下这是为什么吗?
..对不起我的英语不好..