Classes Internas

3 respostas
anderson.bonavides

Galéra segue a seguinte dúvida sobre classes internas. Mesmo subscrevendo o método equals o resultado não éra pra ser chamado, ou seja, o método equals chamado deveria ser o método equals de Objcet e não o subscrito?

O resultado do seguinte código retorna true o que me deixa bastante dúvidoso.

package classes_internas;

public class TestObj {
	public static void main(String[] args) {
		Object o = new Object(){
			public boolean equals(Object obj){
				return true;
			}
		};
		System.out.println(o.equals("Fred"));
	}
}

3 Respostas

ViniGodoy

Qual é a dúvida?

Você sobrescreveu o método equals e fez ele só retornar true.
Então, o equals daquele object só retorna true.

anderson.bonavides

Kra pelo o que eu tinha entendido do assunto o método equals para ser chamado era o método equals de Objcet. Mas to começando a perceber que o polimofismo também atua nas classes internas anônimas.

=/

ViniGodoy

O polimorfismo atua em todas as classes. Sem exceções.

Criado 10 de janeiro de 2008
Ultima resposta 10 de jan. de 2008
Respostas 3
Participantes 2