Riflessione Java: come posso recuperare classi interne anonime?

Ho una class interna anonima all’interno di un’altra class ( SomeClass ).

Sia SomeClass.class.getClasses() che SomeClass.class.getDeclaredClasses() restituiscono matrici vuote.

Non sono riuscito a trovare alcuni suggerimenti su questo in Javadoc di Class .

Le classi interne anonime possono essere recuperate utilizzando la riflessione in qualche modo?

Quali altre differenze sono notevoli tra le classi interne anonime e le normali classi interne?

Se sta usando il riflesso, probabilmente è una pessima idea. Lasciando da parte questo, credo che in runtime ci siano altre classi interne, quindi non ha senso elencare le classi che potrebbero non essere state ancora pensate. Indicare che le classi attualmente caricate richiederebbero di passare attraverso agenti Java o simili.

Le classi interne anonime hanno creato nomi, un metodo di inclusione e campi sintetici aggiuntivi per copiare le variabili locali esterne che sono state copiate. Una class è praticamente uguale a un’altra in fase di esecuzione. Ricorda che 1.1 introdusse le classi interne, ma i file di class sono appena cambiati dalla 1.0.

Potresti provare una ricerca di forza bruta di Class $ 1 … Class $ n fino a quando non riesci a trovarne altri.