簡體   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