Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Padrões de interface e classe

Olá Pessoal, minha dúvida é referente a Interface que tem como padrão métodos e variáveis públicos.

as variáveis são sempre finais por padrão, mas isso pode ser alterado?

os métodos são sempre abstract por padrão, mas isso pode ser altrado?

(como a Interface funciona como um contrato para as classes que a implementam não acho que devia ser diferente disso.. mas gostaria de saber se é possivel). :D

sobre class:

o padrão é sempre público dentro de uma interface.. e em Class? Qual o padrão para métodos e variáveis?

abrçs..

1 resposta
solução!

Oi Jéssica,

Na interface todos os campos são public static final e não é possível modificar. O mesmo vale para os métodos que são public abstract até o Java 7. No Java 8 podem existir métodos com implementação default, que por terem implementação não são mais abstratos.

Os únicos modificadores possíveis para uma interface são public, abstract, default (esse no Java 8), static e strictfp.

Já para campos somente são permitidos public, static e final.

A respeito de classes, o padrão para os métodos e atributos é visibilidade de package se você não colocar o modificador de acesso e com isto eles somente serão visíveis por outras classes que estiverem dentro do mesmo pacote apenas.

Você consegue ver mais detalhes na própria documentação da Oracle aqui: https://docs.oracle.com/javase/specs/jls/se7/html/jls-9.html.

Abraço!