2017-07-13 11 views
0

私のアプリケーションは別のアプリケーション抽象メソッドの実装に依存しています。その抽象メソッドの実装にアクセスする方法の助けが必要なのは、他のアプリケーションがメソッド定義を持つAbstractインターフェイスだけを公開しているからです。抽象メソッドからの抽象メソッドへのアクセス

私の質問は、抽象メソッドの実装にアクセスする方法で、抽象クラスに存在します。このためにリフレクションを使用する必要がありますか?

+0

派生クラスからそのメソッドを呼び出したいですか?もしあれば、extendendクラスの親を指す 'super'キーワードを使用してください。 –

+0

@MaciejTreder:いいえ、その抽象クラスのサブクラスではないクラスの実装にアクセスしたいと思います。 –

+0

あなたはリフレクションを使用する必要があります。 –

答えて

1

これは可能ですが、抽象クラスを拡張するクラスをインスタンス化する必要があります。

Method m = AbstractClass.class.getDeclaredMethod("MethodName", Integer.class); 
m.setAccessible(true); 
m.invoke(new InstanceOfAbstractClass(),"parameter"); 

これは、抽象クラスのプライベートメソッドにアクセスする必要がある場合に便利です。そうでない場合は、子インスタンスからメソッドを呼び出す必要があります。

関連する問題