-
A) Correto... Só não posso chamar de "variável" algo com o modificador "final". O correto é: todos os campos são 'public static final' e todos os métodos são 'public abstract'. Caso algum desses modificadores não seja adicionado, ele ficará implícito.
B) Se interface fosse considerada herança, poderíamos dizer que Java possui herança múltipla. Mas não é o caso.
C) Uma classe pode implementar uma interface. Uma interface pode estender outra interface.
D) Campos e métodos de interface são sempre public. Para a interface em si, funciona a mesma regra das classes: pode ter identificadores de acesso public ou vazio (default).
-
Um pequeno adendo ao comentário do colega Leandro:
Não há necessidade, em provas e concursos, mencionar que não podemos chamar variável de algo com modificador final. Embora o termo 'campo' estar presente na documentação Java não é recomendado usar pois você irá se confundir com atributo( da UML), atributo ( da linguagem Java)... ai está feita a merd#$#@!#
Para provas/concurso basta saber:
Variável é aquele lugarzinho na memória onde ficam os dados durante execução de um programa. simples assim!
Mas Max e o 'final'? Pense nele como o Durepoxi, em atributos, você vai usar e ponto final, ou seja, não pode ser modificado depois de usá-lo
-
Resposta correta: As variáveis são implicitamente public static final.
-
Fala, @Max
"Campo" é um termo genérico que abrange tudo: atributo, variável estática, constante estática. Por isso que usei.
Sobre a "variável" existir em uma interface, olha só o que é dito na documentação oficial:
- An interface is a reference type, similar to a class, that can contain only constants, method signatures, default methods, static methods, and nested types
https://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html