Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Interfaces aceitam somente métodos abstratos?

O professor Nico disse na parte 3 da aula 6, que uma interface não pode ter nada concreto, que seus método devem ser abstratos. Porém percebi que consigo deixar meus métodos como não-abstratos:

public abstract interface Autenticavel {

    public boolean autenticaSenha(int senha);

    public void setSenha(int senha);

}

O código compila. Deixar os métodos como abstratos se trata apenas de uma boa prática de programação? Obrigado desde já.

edit: Acabei de responder um exercício que diz que a afirmação "Todos os métodos de uma interface são abstratos, os de uma classe abstrata podem não ser" é correta.

2 respostas
solução!

Olá, Murilo. Tudo bom?

Todos os membros de sua interface Autenticavel são abstratos.

No seu caso, a palavra reservada abstract é implícita (o Java automaticamente interpreta os métodos de interfaces como abstratos), mas, não há diferença entre o seu código e o código apresentado no curso, com a palavra reservada abstract explícita.

Obrigado, Guilherme.