繁体   English   中英

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

[英]why class define in other package can not implement interface or extends class define in default package in java

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

public interface Foo{  
}  

package com.code  
public class  MyClass implements Foo{  
}

上面的代码将给出以下编译错误:
Foo无法解析为键入
为什么???

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM