5

別のクラス()内に匿名の内部クラスがありSomeClassます。

両方とも空の配列SomeClass.class.getClasses()を返します。SomeClass.class.getDeclaredClasses()

Class'Javadocでこれに関するヒントを見つけることができませんでした。

匿名の内部クラスは、何らかの方法でリフレクションを使用して取得できますか?

匿名内部クラスと通常の内部クラスのその他の注目すべき違いは何ですか?

4

2 に答える 2

4

それ以上見つからなくなるまで、 Class$1 ... Class$n のブルートフォース検索を試すことができます。

于 2009-10-31T16:57:54.370 に答える
0

リフレクションを使用している場合は、おそらく本当に悪い考えです。それはさておき、実行時に内部クラスを追加できると思うので、まだ考えられていない可能性のあるクラスをリストするのは意味がありません。現在ロードされているクラスを一覧表示するには、Java エージェントなどを経由する必要があると思います。

匿名の内部クラスは、コピーされた外部ローカル変数をコピーするための名前、それを囲むメソッド、および追加の合成フィールドを構成しています。あるクラスは、実行時に別のクラスとほとんど同じです。1.1 で内部クラスが導入されましたが、クラス ファイルは 1.0 以降ほとんど変更されていないことを思い出してください。

于 2009-10-31T17:27:50.767 に答える