3

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

public interface Foo{  
}  

package com.code  
public class  MyClass implements Foo{  
}

上面的代码会给出以下编译错误:
Foo can't be resolve to type
why???

4

2 回答 2

1

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

当您在不使用包名的情况下引用类或接口时,假设该类与引用它的代码在同一个包中。所以编译器看到了这个:

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

由于无法在代码中引用默认包,因此不要使用它。

于 2012-11-30T14:35:02.007 回答
0

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

于 2012-11-30T15:01:54.463 回答