Java 包内的公共类可以';看不到公共界面?

Java 包内的公共类可以';看不到公共界面?,java,Java,我有一门课: package Member; public class Player implements Character{ ... } 我有一个不在包内的接口: public interface Character{ ... } 我认为公共接口和类彼此可见,无论它们是否在同一个包中,那么为什么我不能在Player类中实现Character呢?我有错误:无法解析符号“Character”如果接口(或您使用的任何其他类/枚举)位于不同的包中,则需要完全限定它: public class P

我有一门课:

package Member;
public class Player implements Character{
...
}
我有一个不在包内的接口:

public interface Character{
...
}
我认为公共接口和类彼此可见,无论它们是否在同一个包中,那么为什么我不能在Player类中实现Character呢?我有错误:无法解析符号“Character”

如果接口(或您使用的任何其他类/枚举)位于不同的包中,则需要完全限定它:

public class Player implements org.somepackage.Character {
或导入它:

import org.somepackage.Character;
public class Player implements Character {

你导入接口了吗?或者接口在未命名的包中?您不能从任何其他包访问中的类型。将它们放入一个命名包中(即在secon文件中有一些
package
语句)。相关的,可能重复:,@JoachimSauer唯一的解决方案是将接口放入命名包中?@Pawlinho:是的,未命名包除了最简单的测试程序外,不应用于任何东西(如我上面给出的链接所述)。这是正确的,但我认为OPs的问题是,
字符
在未命名的包中。JoachimSauer我认为OP的困惑在于他们认为“对其他包可见”意味着“甚至不需要导入”。