以下のインターフェイスは、デフォルトのパッケージで定義されています
public interface Foo{
}
package com.code
public class MyClass implements Foo{
}
上記のコードでは、次のコンパイル エラーが発生します:
Foo can't be resolve to type
why???
そのため、すべてのコードをパッケージに入れることをお勧めします。
パッケージ名を使用せずにクラスまたはインターフェースを参照する場合、そのクラスは、それが参照されているコードと同じパッケージにあると想定されます。したがって、コンパイラはこれを見ています:
package com.code
public class MyClass implements com.code.Foo{
}
コードでデフォルト パッケージを参照する方法がないため、使用しないでください。
クラスにインターフェイスを実装する場合は、両方を同じパッケージに含めるか、クラスを作成する前にインターフェイスを含むパッケージをインポートするか、宣言でインターフェイスのパス全体を使用する必要があります。