1
resposta

interface

a primeira dúvida é se realmente preciso usar a palavra abstract nas minhas interfaces, a segunda é se faço: Autenticavel cliente = new Ciente(); se em cliente tiver métodos específicos que não estão na interface autenticável, esses métodos de cliente poderiam ser chamados?

1 resposta

Oi Erick, tudo bem?

Não é necessário usar o modificador abstract, já que toda interface é implicitamente abstrata, como podemos ver na documentação. Mas fique atento, isso vale para a declaração da interface em si, e não para seus membros ;)

Em relação ao Autenticavel cliente = new Cliente(), não vai funcionar pois o Java vai enxergar a sua referência cliente como sendo um Autenticavel, então não tem jeito. Se quiser usar um método exclusivo da classe Cliente, o jeito é mudar o tipo da referência para Cliente ou declarar esse método na interface Autenticavel.

Espero ter ajudado, qualquer dúvida é só avisar!

Bons estudos!!