Ah, sim. Como eu disse no primeiro email, o Class.forName funciona porque
ele n�o cria uma inst�ncia do objeto. Por�m, para instanciar Pai.Filho, voc�
realmente precisa que o construtor de Pai seja acess�vel, pois a classe
filho � uma inner class n�o-est�tica e depende de uma inst�ncia da outer
class para poder ser instanciada. � interessante ver o c�digo de uma inner
class:
C:\teste>javap -private familia.Pai$Filho
Compiled from Pai.java
public class familia.Pai. Filho extends java.lang.Object
/* ACC_SUPER bit NOT set */
{
private final familia.Pai this$0; <--------
public familia.Pai.Filho(familia.Pai);
}
Ou seja, a inner class n�o-est�tica mant�m uma refer�ncia para um objeto da
outer class.
Puxa, que confus�o ;-) Deve ser por isso que inner classes n�o s�o
recomendadas exceto em determinadas situa��es.
> -----Mensagem original-----
> De: Bruno Borges [mailto:[EMAIL PROTECTED]]
> Enviada em: Friday, November 22, 2002 1:20 PM
> Para: [EMAIL PROTECTED]
> Assunto: Re: [enterprise-list] Fw: ClassLoader + Inner Class
>
>
> Nesse caso, Filho precisa ser static para poder executar:
>
> Class filho = Class.forName("familia.Pai$Filho");
> Object objFilho = filho.newInstance();
>
> senao, eu nem teria tido problema com isso, afinal, meu esquema estava do
> jeito desse seu pseudo-codigo ae... ;)
>
> me corriga se eu estiver errado, please... ;)
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]