默认包
中定义接口public interface Foo{
}
package com.code
public class MyClass implements Foo{
}
上面的代码会给出以下编译错误:
Foo无法解析为键入
为什么???
答案 0 :(得分:1)
这就是为什么建议您将所有代码放入包中。
当您在不使用包名称的情况下引用类或接口时,假设该类与引用它的代码位于同一个包中。所以编译器看到了这个:
package com.code
public class MyClass implements com.code.Foo{
}
由于无法在代码中引用默认包,因此请不要使用它。
答案 1 :(得分:0)
如果您希望您的类实现一个接口,那么您应该将它们都放在同一个包中或者在创建类之前导入包含该接口的包或者在声明中使用该接口的整个路径。