为什么其他包中的类定义不能在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{
}