Essa aqui é legal

11 respostas
balrog
public class Person {

private void say(String s){

System.out.println("I’m saying: " + s);

}

public static void main(String[] args) {

Person p = new Director();

p.say(Hello);

}

}
public class Director extends Person {

public void say(String s){

System.out.println(Im the director);	

}

}

11 Respostas

E

Eu acho que imprime:
“I’m saying: Hello”

pois não há Override e por sua vez VMI.

balrog

perfeito !! é isso mesmo que acontece …

Ironlynx

I´m saying :Hello

Ironlynx

Caramba…postei qdo vc respondeu!Tinha q ter sido mais rápido…

V

O que significa VMI ???

Obrigado,
Tiago Serafim

E

O que eu quis dizer é que NÃO HÁ VMI (Virtual Method Invocation)

Quando a chamada do metodo da Super classe feita em tempo de compilação chama o metodo da SubClasse em tempo de execução.
Ex:

public class Person {
   public void say(String s){
     System.out.println("I'm saying: " + s);
   }

   public static void main(String[] args) {
     Person p = new Director();
     p.say("Hello");
   }
}

public class Director extends Person {
   public void say(String s){
      System.out.println("I'm the director");
    }
 }

Neste caso, é feito o override.

Frank

I’m saying: Hello

Falow…

ECO2004

Olá…eu queria saber como que vc conseguiu ter acesso à função private da classe Person. No meu programa abaixo, essa é dada como invisível.

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();

}

}
vanzella

Mas é obvio que não vai ser visivel, você criou quatro classes, no exemplo que balrog deu, a invocação pertence a mesma classe, sendo assim possivel invocar o método private.
Abraço…

LPJava

nao querendo ser chato…

http://www.guj.com.br/posts/list/50115.java

ECO2004

Ok…

Criado 14 de julho de 2003
Ultima resposta 14 de jan. de 2008
Respostas 11
Participantes 8