Uma aplicação possui quatro classes: A, B, C e D.
As classes A e B são subclasses de A. Nas classes A, B e C existem atributos diferentes e um método chamado verificarSaldo() com a mesma assinatura mas que executa operações que retornam valores do tipo double, porém, diferentes. A classe D é a classe principal. No interior do método main da classe D foram digitadas as seguintes instruções:
A obj = new B(); double v = obj.verificarSaldo();
A obj1 = new C(); double v1 = obj1.verificarSaldo();
Quando essas linhas foram executadas, a variável v recebeu o valor 100.00 e a variável v1 recebeu o valor 125.00.
Note que tanto obj como obj1 são objetos do tipo A, porém, além de possuírem atributos diferentes, ao chamar o método verificarSaldo() por meio desses objetos, o retorno contido nas variáveis v e v1 foi diferente. Isso mostra um exemplo de
Fonte: TéCNICO MINISTERIAL - TECNOLOGIA DA INFORMAçãO / MPE/MA / 2013 / FCC