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!!