De bobeira mais uma vez, e continuando a fazer as minhas notas de estudo, eu achei mais uma coisa que, pelo menos eu, não estava acostumado a ver. Quando queremos definir o controle de acesso a membros e métodos, normalmente nós usamos 3 palavras chave: public, private e protected. Mas alguém tem noção do que acontece se, por acaso, nenhum dos três é definido?
Pois bem, estudando pelo livro da certificação, eu matei a curiosidade. Protected e default (quando você não define nenhum controle de acesso) tem algo em comum. Dê uma olhada nas duas classes abaixo:
Como você pode perceber, o método algumMetodo() da classe A é marcado como acesso padrão: sem nenhum modificador de acesso. Pense nisso como controle de acesso a nivel de pacote, isto é, o método em questão só pode ser acessado por classes no mesmo pacote da classe A. Um erro ocorre ao se tentar compilar o código acima:
No quesito herança, um método ou membro com controle de acesso padrão só é acessivel por subclasses se estas estiverem no mesmo pacote que suas superclasses.
Pois bem, estudando pelo livro da certificação, eu matei a curiosidade. Protected e default (quando você não define nenhum controle de acesso) tem algo em comum. Dê uma olhada nas duas classes abaixo:
package pacote;
public class A {
void algumMetodo() {
System.out.println("teste");
}
}
package outropacote;
import pacote.A;
public class B {
public static void main(String[] args) {
A a = new A();
a.algumMetodo();
}
}
Como você pode perceber, o método algumMetodo() da classe A é marcado como acesso padrão: sem nenhum modificador de acesso. Pense nisso como controle de acesso a nivel de pacote, isto é, o método em questão só pode ser acessado por classes no mesmo pacote da classe A. Um erro ocorre ao se tentar compilar o código acima:
No method matching algumMetodo () found in class
pacote.A. a. algumMetodo ();
No quesito herança, um método ou membro com controle de acesso padrão só é acessivel por subclasses se estas estiverem no mesmo pacote que suas superclasses.
No comments:
Post a Comment
Regras são chatas, mas...
Todos os comentários são lidos e moderados previamente.
São publicados aqueles que respeitam as regras abaixo:
- Seu comentário precisa ter relação com o assunto do post;
- Em hipótese alguma faça propaganda de outros blogs ou sites;
- Não inclua links desnecessários no conteúdo do seu comentário;
- Se quiser deixar sua URL, comente usando a opção OpenID;
- CAIXA ALTA, miguxês ou erros de ortografia não serão tolerados;
- Ofensas pessoais, ameaças e xingamentos não são permitidos;