Salvem,
Me deparei com uma limitação estranha quanto a instanciação dinâmica de um objeto quando seu tipo é uma Inner Class, a JVM lança uma InstantiationException quando executa o método Class.newInstance(), segue o código :
public class Teste {
public static void main(String[] args) {
Teste teste = new Teste();
teste.metodo();
}
private void metodo(){
Class clazz = Inner.class;
try{
Inner inner = (Inner) clazz.newInstance();
}catch( Exception e ){
e.printStackTrace();
}
}
private class Inner{
}
}
Já tentei usar o Class,forName() com o nome binário ( Teste$Inner ) , mas tb não funcionou.
Pelo visto o Java não consegue fazer a ligação do inner object com o enclosing object quando usando newInstance().
Já olhei na JLS e não achei nada a respeito.
Alguém sabe contornar isso , ou me dizer o porquê ?
Agradeço desde já.
:Fade-color :rainbowafro: