Javaでインターフェースの実装クラスを取得する方法

Javaでは、リフレクションを利用してインターフェースの実装クラスを取得できます。その方法は以下の通りです。

  1. クラス.フォーネーム()
  2. Class
  3. MyInterface
  4. 授業
Class<?> interfaceClass = Class.forName("com.example.MyInterface");
  1. interfaceClass.実装クラスの取得()
  2. MyInterface
Class<?>[] implementingClasses = interfaceClass.getImplementingClasses();
  1. 実装クラス
  2. 授業
  3. 授業
Class<?> implementingClass = implementingClasses[0];

注意:この方法は org.reflections などのサードパーティライブラリを使ってインプリを手に入れる必要があります。このライブラリは Maven か Gradle を使ってインポートすることができます。

具体的には、実装クラスのインスタンスがすでに存在している場合、instanceofキーワードを使用してインスタンスが特定のインターフェースを実装しているかどうかを判断できます。たとえば、myObjectがMyInterfaceインターフェースを実装しているかどうかを判断するには、次のコードを使用できます。

if (myObject instanceof MyInterface) {
    // myObject实现了MyInterface接口
}
bannerAds