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 に答える