Explicação?

2 respostas
RicardoYukito

Estava vendo algumas questoes da prova de certificaçao quando me deparei com um codigo similar a esse…

public class Queloc {

	int i = 1;
	
	public int getI(){
		System.out.print("HAHA!!");
		return(i);
	}
	 
      public static void main(String[] args){
		   Queloc q = new Ola();
		   System.out.print( q.i + " " + q.getI());
	   }
	
}

class Ola extends queloc {
	int b = 2;
	
	public int getI(){
		System.out.print("HAHAHAAAAAaaaaaaaaaaaaa!!");
		return(b);
	}
}

Se executado a saida será : HAHAHAAAAAaaaaaaaaaaaaa!!1 2

não consegui intender o porque do 1 estar ali ? após HAHAHAAAAAaaaaaaaaaaaaa!!
att.

2 Respostas

RicardoYukito

intendi …
o primeiro print já dexa dessa form 1 2, e antes do retorno ele já escreve o haaaa…

att…

newbcc

Olá amigo,

o número 1 é exibido por causa da sua variável de instância quê é do tipo Queloc.

Polimorfismo só é válido para métodos e não para atributos de instâncias.

Abs!

Criado 22 de setembro de 2010
Ultima resposta 22 de set. de 2010
Respostas 2
Participantes 2