letakeda:
Este metodo recebe um objeto… da classe Object… tudo parte dele… depois se ContaCorrente pertence (instanceof) a obj… que você passou E ContaCorrente.getAgencia (metodo que nao sei exatamente o que retorna) é igual (equals significa que está apontando para o mesmo lugar na memoria, ou seja, voce nao pode usar == para objetos) … se ambas as condiçoes acima forem verdadeiras… retorna true, senao false.
Nao sei se fui claro… mas … qualquer coisa fala ae
Letakeda voce esta totalmente equivocado, e explicando tudo errado pro garoto. O método equal não tem nada a ver com endereço de mémoria, e o operador “==” pode ser usado sim para comparar objetos. Vou explicar corretamente a questao.
Primeiro: instanceof verifica se um objeto passa na relação é um para aquela classe ( ou seja, se o objeto é um tipo daquela classe diretamente ou por herança)
Segundo: o método equals significa se um objeto é signifcativamente equivalente ao passado pelo parametro do metodo, ou seja, nao tem nada a ver com endereço de memoria iguais. Por exemplo na classe String o metodo equals será true se elas tiverem o mesmo valor, mas elas podem ter endereços de memoria diferentes. O metodo equals de um objeto dog pode retornar true para um objeto cat, mesmo se forem objetos de classes diferentes, ou seja, vai depender do que o programador da classe entender o q é significativo para tornar um objeto seu equivalente a outro e isso independente do endereço de memoria. Agora, se o programador nao criar um metodo equals (sobrescrevendo o metodo equals da classe Object), aí o equals so retornará true se os objetos tiverem o mesmo endereço de memória. Algumas classes ja sobrescrevem o metodo equals por padrao, é o caso da classe String de das classes wrappers. A subscrição do metodo equals é muito importante para fazer ordernar arrays ou listas e tambem parar colocar objetos em tabelas hash.
Terceiro: o operador “==” retorna true sempre que os objetos se referirem a um mesmo endereço na memória. Ou seja nesse caso se der true na comparação eles são realmente o mesmo objeto. Enquanto que no equals eles podem ser o mesmo objeto ou objeto diferentes.