Javaでインターフェースの実装クラスを取得する方法
Javaでは、リフレクションを利用してインターフェースの実装クラスを取得できます。その方法は以下の通りです。
- クラス.フォーネーム()
- Class
- MyInterface
- 授業
Class<?> interfaceClass = Class.forName("com.example.MyInterface");
- interfaceClass.実装クラスの取得()
- MyInterface
Class<?>[] implementingClasses = interfaceClass.getImplementingClasses();
- 実装クラス
- 授業
- 授業
Class<?> implementingClass = implementingClasses[0];
注意:この方法は org.reflections などのサードパーティライブラリを使ってインプリを手に入れる必要があります。このライブラリは Maven か Gradle を使ってインポートすることができます。
具体的には、実装クラスのインスタンスがすでに存在している場合、instanceofキーワードを使用してインスタンスが特定のインターフェースを実装しているかどうかを判断できます。たとえば、myObjectがMyInterfaceインターフェースを実装しているかどうかを判断するには、次のコードを使用できます。
if (myObject instanceof MyInterface) {
// myObject实现了MyInterface接口
}