Opa, isso est� mais para desinforma��o do que para informa��o (desculpa, Robson ;-))
a visibilidade 'protected' � para classes *na mesma hierarquia*, e n�o para o mesmo pacote. Para o mesmo pacote, deve-se n�o usar nada. Mesmo que o construtor fosse p�blico, o Class.forName() n�o instancia um objeto da classe, apenas inicializa a classe (ou seja, chama os blocos est�ticos e inicializa as vari�veis est�ticas). Por isso, o fato do construtor ser protected n�o causa problema. Se fosse necess�rio instanciar um objeto Filho, a� seria imposs�vel, pois a inner class Filho n�o � est�tica e por isso depende de uma inst�ncia da classe Pai (que n�o poderia ser instanciada pois o construtor � protected). A raz�o do erro � que a sintaxe deve ser "familia.Pai$Filho". Se isso estiver dando ClassNotFoundException, seu classpath est� incorretamente setado. (acabei de testar aqui e funciona). Abra�os, Renato Mangini Dias Software Architect at Vetta Technologies - www.vettatech.com Sun Java Certified Instructor/Programmer > -----Mensagem original----- > De: Robson Luis Ferreira [mailto:[EMAIL PROTECTED]] > Enviada em: Friday, November 22, 2002 12:07 PM > Para: [EMAIL PROTECTED]; Bruno Borges > Assunto: Re: [enterprise-list] Fw: ClassLoader + Inner Class > > > > Esse tipo de quest�o cai em provas de certifica��o: > Como o construtor Pai � protected, s� ser� vis�vel > dentro do pacote, da mesma forma que o c�digo abaixo > > familia.Pai.Filho f = new familia.Pai().new Filho(); > > Retornaria erro de compila��o se estiver numa > classe fora do seu pacote. Experimente deixar o > construtor Pai como public ou simplesmente deixar sem > esse construtor que funcionar� ! > > []'s > Robson Luis Ferreira > > > > --- Bruno Borges <[EMAIL PROTECTED]> escreveu: > > > ----- Original Message ----- > > From: "Bruno Borges" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Friday, November 22, 2002 9:09 AM > > Subject: ClassLoader + Inner Class > > > > > > > segue a seguinte classe: > > > > > > package familia; > > > > > > public class Pai { > > > > > > protected Pai() { > > > // a classe pai nao pode ter construtor public > > > } > > > > > > public class Filho() { > > > > > > public Filho() {} > > > } > > > } > > > > > > bom, acontece q em otra classe eu tento pegar o > > objeto Class de Filho pelo > > > Class.forName("familia.Pai.Filho"); > > > e isso estah disparando ClassNotFoundException... > > ;( > > > > > > alguem ae tem uma luz pra resolver isso? > > > > > _______________________________________________________________________ > > Yahoo! Encontros > > O lugar certo para encontrar a sua alma g�mea. > > http://br.encontros.yahoo.com/ > > > > > --------------------------------------------------------------------- > > Para cancelar a subscri��o, envie mensagem para: > > [EMAIL PROTECTED] > > Para comandos adicionais, envie mensagem para: > > [EMAIL PROTECTED] > > > > _______________________________________________________________________ > Yahoo! GeoCities > Tudo para criar o seu site: ferramentas f�ceis de usar, espa�o de > sobra e acess�rios. > http://br.geocities.yahoo.com/ > > --------------------------------------------------------------------- > Para cancelar a subscri��o, envie mensagem para: > [EMAIL PROTECTED] > Para comandos adicionais, envie mensagem para: > [EMAIL PROTECTED] --------------------------------------------------------------------- Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED] Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
