Acessando método PRIVATE, como?  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
phstc
JavaGuru

Membro desde: 13/04/2004 12:22:22
Mensagens: 200
Localização: São Paulo, SP
Offline

Classe Principal


Classe Funcionario




OUT: Código 5

Alteração Funcionario (setter e getter como private)




OUT: Código 5

Como ele funcionou??? Não era para gerar erro de runtime? O nível de acesso só é bloqueado na compilação???

Abs,
Pablo
[Email]
Cabral
JavaTeenager
[Avatar]

Membro desde: 01/06/2005 09:10:59
Mensagens: 153
Localização: Arujá - SP
Offline

Provavelmente seu .class ainda esta com a versão antiga. eu fiz aqui e não funcionou não.

Att,

Ricardo Cabral

** SCPN **
phstc
JavaGuru

Membro desde: 13/04/2004 12:22:22
Mensagens: 200
Localização: São Paulo, SP
Offline

eu apaguei o Funcionario.class, compilei javac Funcionario.java, testei e não funfou.

mas quando mudo o nome do método, ai dá erro, NoSuchMethod, será que o nível de acesso, só é garantido na compilação?
[Email]
Cabral
JavaTeenager
[Avatar]

Membro desde: 01/06/2005 09:10:59
Mensagens: 153
Localização: Arujá - SP
Offline

Sim, pois o que a jvm le é o .class, logo ele só vai entender que o método é private se estiver compilado como tal

Ricardo Cabral

** SCPN **
phstc
JavaGuru

Membro desde: 13/04/2004 12:22:22
Mensagens: 200
Localização: São Paulo, SP
Offline

Cabral wrote:Sim, pois o que a jvm le é o .class, logo ele só vai entender que o método é private se estiver compilado como tal

Ricardo Cabral



Eu tinha postado errado, leia novamente meu último post, eu editei!!!

"testei e não funfou. "

[Email]
phstc
JavaGuru

Membro desde: 13/04/2004 12:22:22
Mensagens: 200
Localização: São Paulo, SP
Offline

ninguém? novidades?
[Email]
dudaskank
GUJ Ranger
[Avatar]
Membro desde: 12/09/2003 14:59:26
Mensagens: 850
Localização: Suzano, SP, Brasil
Offline

Eu não entendi direito o problema, vc compilou seu Funcionario.class e não funcionou certo? Se for, é isso mesmo, não é pra funcionar mesmo...

flw

Eduardo Oliveira

Toque a balada do amor inabalável, eterna love song de nós dois...

Página
[WWW]
ECO2004
JavaEvangelist
[Avatar]

Membro desde: 06/11/2006 01:11:23
Mensagens: 307
Offline

Eu estava querendo exatamente saber como eu poderia acessar uma função private.

package polimorfismo;

public class Pai
{
void Polimorfismo()
{
System.out.println("Chama função PAI");
}
}

class Filho extends Pai
{
protected void Polimorfismo()
{
System.out.println("Chama função FILHO");
}
}

class Neto extends Filho
{
public void Polimorfismo()
{
System.out.println("Chama função NETO");
}
}

class Main
{
public static void main(String[] args)
{
Pai pai = new Filho();
pai.Polimorfismo();
}
}

Assim da certo...logicamente...rsrs..porém, se eu fizer:

package polimorfismo;

public class Pai
{
private void Polimorfismo()
{
System.out.println("Chama função PAI");
}
}

class Filho extends Pai
{
protected void Polimorfismo()
{
System.out.println("Chama função FILHO");
}
}

class Neto extends Filho
{
public void Polimorfismo()
{
System.out.println("Chama função NETO");
}
}

class Main
{
public static void main(String[] args)
{
Pai pai = new Filho();
pai.Polimorfismo();
}
}

A primeira fica inacessível à main ( Função Polimorfismo em Pai invisivél). Tem algum jeito? É só curiosidade mesmo.
[Email] [MSN] [ICQ]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team