Métodos abstract

Pessoal,

Qual o nível de acesso padrão de um método abstract [EDITADO] declarado em uma classe abstrata [/EDITADO]?

Exemplo:

// Veja que nenhum modificador de acesso foi informado abstract void foo();

Abraços

[quote=tnaires]Pessoal,

Qual o nível de acesso padrão de um método abstract [EDITADO] declarado em uma classe abstrata [/EDITADO]?

Exemplo:

// Veja que nenhum modificador de acesso foi informado abstract void foo();

Abraços[/quote]

O nível de acesso default, independente de ser classe abstrata ou não, só permite acesso a partir de classes do mesmo pacote.

Obrigado. É porque em interfaces, todos os métodos são abstratos e públicos.

Em interfaces, todos os métodos são public e abstratos. Por isso, você não precisa declarar nenhum dos dois modificadores.

Ou seja isso aqui:

public interface Conection { void open(); void close(); }

Equivale a:

public interface Conection { public abstract void open(); public abstract void close(); }

E além de ter nível de acesso “default”, muitos falam que default é a mesma coisa que o modificador de acesso “protected”, seria, se não fosse por um detalhe, o protected igualmente ao default você só pode usar se estiverem no mesmo pacote, mas o protected você pode usar os membros de outra classe de fora do pacote se você estender a classe que estiver com os membros protected.

Exato… mesmo 1 ano e dois meses depois da última resposta, o que você falou ainda vale…