0
public class A{

}

//this class is in the same file as A class i.e. A.java
class B{

   //has a public method
}

これらの両方のクラスは同じファイルにあります。 したがって、クラスBを として作成することはできませんpublic

リフレクションを使用しBてクラスと同じレベルで定義されているクラスの public メソッドにアクセスしようとすると、修飾子を持つクラスのメンバーにアクセスできないことがわかります。AIllegalAccessExceptionBpublic

リフレクションを使用してそれを達成する方法はありますか?

4

2 に答える 2

1

クラスBを公開してから、試してみてください。動作するはずです。

Javaドキュメントの引用

参照(クラス、インターフェイス、または配列)タイプのメンバー(クラス、インターフェイス、フィールド、またはメソッド)またはクラスタイプのコンストラクターは、タイプがアクセス可能であり、メンバーまたはコンストラクターがアクセスを許可するように宣言されている場合にのみアクセス可能です。

于 2013-02-20T16:33:18.957 に答える
0

setAccesible(true)その方法で行う必要があります。

于 2013-02-20T16:35:34.220 に答える