为什么其他包中的类定义不能在java中实现接口或扩展默认包中的类定义

为什么其他包中的类定义不能在java中实现接口或扩展默认包中的类定义,java,interface,package,Java,Interface,Package,下面的接口在默认包中定义 public interface Foo{ } 以上代码将给出以下编译错误: 无法将Foo解析为类型 为什么???这就是为什么建议您将所有代码放入包中 当您引用一个类或接口而不使用包名时,假设该类与引用它的代码位于同一个包中。因此,编译器看到: package com.code public class MyClass implements com.code.Foo{ } 因为无法在代码中引用默认包,所以不要使用它。如果您希望您的

下面的接口在默认包中定义

public interface Foo{  
}  


以上代码将给出以下编译错误:
无法将Foo解析为类型

为什么???

这就是为什么建议您将所有代码放入包中

当您引用一个类或接口而不使用包名时,假设该类与引用它的代码位于同一个包中。因此,编译器看到:

  package com.code  
  public class  MyClass implements com.code.Foo{  
   }

因为无法在代码中引用默认包,所以不要使用它。

如果您希望您的类实现一个接口,那么您应该将它们都放在同一个包中,或者在创建类之前导入包含接口的包,或者在声明中使用接口的整个路径

See的可能副本
  package com.code  
  public class  MyClass implements com.code.Foo{  
   }