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

[Dúvida] Uso de Interface

Nas aulas foi dito que a interface funciona como um contrato onde a classe que a implementa é obrigado a sobrescrever seus métodos, mas eu fiz um teste colocando um atributo dentro de uma interface, e usei esse atributo na classe que implementou essa interface e funcionou! Queria saber o por quê disso ter acontecido, eu penso que pode ser questão de versão do java, não sei.

2 respostas
solução!

Olá Tadeu! Realmente é possível colocar atributos em interfaces no Java. É importante lembrar que todo atributo declarado em interface é uma constante. Ele deve possuir a seguinte estrutura:

public static final *tipoDoAtributo* *nomeDoatributo* = *valorDoAtributo*;

Uma vez definida no código, essa constante não pode mais ser alterada durante a execução programa.

Dica: Já que todo atributo de interface é uma constante (public static e final) não precisamos colocá-los explicitamente. Por exemplo:

public interface NovaInterface {
    int numero = 2;
}

numero continua sendo uma constante

Espero ter ajudado!

Esclareceu a dúvida! Obrigado @Yam

Vale ressaltar que, eu fiz o teste (uso intellij), a IDE mostrou que as palavras chaves são redundantes, sendo assim posso declarar sem o "public, static, final" assim como posso declarar os métodos sem o "public, static". Visto que, quando criamos uma interface as palavras chaves vêm implícitas.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software