Dúvida boba aqui

Boa noite pessoal, estou com uma dúvida aqui novamente, acho que é simples !

tenho esse código:

public abstract class Info {
	public abstract void load();
}

Bom, como a classe é abstrata ela pode possuir esse método abstrato; a minha primeira
classe não abstrata na arvore de herança DEVE implementar o método abstrato.

public interface Data {
	public abstract void load();
}

Uff, então, todo método em uma insterface é inplicitamente - public e abstract
portanto ao implementar a interface DEVO implementa-lo. Não preciso se minha classe for abstrata.

Porém tenho Employee aqui que compila normalmente, e esse método que possue o mesmo
nome na declaração da superclasse e na interface se refere a superclasse… Como fica o contrato da interface ?!

public class Employee extends Info implements Data {
	
	public void load() { /* do something */
	
	}
	
}

Vlw galera !!!

Compila normal porque Info tem o método com as mesmas assinaturas da Interface.

Blz !!! eu vi aqui …
Mas e o contrato da interface ?! Não fica para a subclasse porque eu testei !
Simplesmente posso e pronto ?!!!

Vlw !!!

[quote=Gustavo Santos]Blz !!! eu vi aqui …
Mas e o contrato da interface ?! Não fica para a subclasse porque eu testei !
Simplesmente posso e pronto ?!!!

Vlw !!! [/quote]

Como nao fica?

[quote=Gustavo Santos]Blz !!! eu vi aqui …
Mas e o contrato da interface ?! Não fica para a subclasse porque eu testei !
Simplesmente posso e pronto ?!!!

Vlw !!! [/quote]

Qm te falou que é o método do Abstrato que vc ta implementando? E qm te falou que é método o da Interface?

Veja que sua classe tem que ter um método chamado load e sem retorno.

Esse método implementado já não basta para a classe Abstrata? Esse método implementado já não basta para a Interface?
Leia individualmente a classe/interface e depois classe/classeAbstrata e veja que com apenas uma declaração vc já faz com que sua classe esteja OK para compilar.

Blz !!! entendii aqui !!!

Vlw galera !!