Caráter de permissão de acesso:
(1) Público:
Para membros: eles podem ser acessados por qualquer outra classe, seja no mesmo pacote ou em outro pacote.
Para as aulas: o mesmo é verdadeiro.
(2) amigável:
Para os membros antigos: se um membro da classe não tiver nenhuma modificação de permissões, sua porta será as permissões de acesso ao pacote padrão.
Não é uma palavra -chave em Java, mas aqui está uma maneira de expressá -la pessoalmente. Outras aulas no mesmo pacote podem ser acessadas, mas fora da embalagem
Isso não é possível. Para as aulas não sob a mesma pasta, sem pacote, o Java verá automaticamente essas classes como no diretório que pertence a este diretório
O pacote padrão pode ligar para membros amigáveis em sala de aula. Por exemplo, as duas classes a seguir estão nos dois arquivos da mesma pasta, respectivamente
Embora não seja introduzido no pacote, ele pertence ao mesmo pacote padrão.
classe sundae {// Os dois métodos a seguir são sundae amigável () {} void f () {System.out.println ("sundae.f ()"); string] args) {sundae x = new sundae ();
Para aulas: as classes no mesmo pacote podem ser usadas. Em suma, a turma só pode declarar -se público ou amigável.
(3) Privado:
Para membros: apenas acesso à classe que o membro pertence.
classe sundae {private sundae () {} // só pode ser chamado na classe sundae sundae (int i) {} sundae estático makasundae () {return new sundae (); String [] args) {// O construtor sundae () na classe Sundae é privado, // para que não possa ser inicializado // sundae x = new sundae (); int) é amigável, você pode chamar as sudae z = sundae.makasundae ();}}
Para as aulas: a classe não pode ser declarada como privada.
(4) protegido:
Para membros: as classes no mesmo pacote podem acessar (permissões de acesso ao pacote);
(5) padrão (permissões padrão)
Classe, membros de dados, métodos construtivos e membros do método podem usar as permissões padrão, ou seja, para não escrever palavras -chave. As permissões padrão são as mesmas permissões de pacote, e os elementos das mesmas permissões de pacote só podem ser chamados definidos de suas classes e a classe do mesmo pacote.
Exemplo: pacote c05.local;
Importar pack1.cookie; Cookie A classe não está em um pacote e cada um possui as permissões de acesso à embalagem Não atende aos requisitos de privacidade, por isso é melhor defini -lo como protegido. System.out .println ("CHOCOLATECHIP Construtor");} public static void main (String [] args) {chocolatechip x = novo chocolateChip ();
Pacote pacote1;
Há uma explicação melhor para as permissões da classe:
Permissões de acesso da aula:
Público: Pode ser usado para todo o acesso aulas.
Padrão: o padrão pode ser chamado de amigável, mas não há modificador do amigável no idioma Java. A permissão de acesso padrão é a permissão de acesso no nível do pacote.
Ou seja, se uma classe for escrita sem um modificador de acesso à gravação, é a permissão de acesso padrão e todas as classes sob o mesmo pacote podem ser acessadas, mesmo que a classe possa ser instanciada (é claro que essa classe não tiver A capacidade de instanciar, por exemplo, essa classe não fornece um construtor público).
ilustrar:
1. Cada unidade de compilação (arquivo de classe) pode ter apenas uma classe pública
2. O nome da classe pública (incluindo a caixa superior) deve ser o mesmo que seu arquivo de classe.
3. Um arquivo de classe (*.java) pode não existir.
Esta forma de cenário de existência: se escrevermos uma classe em um pacote, é apenas para cooperar com outras classes do pacote e não queremos escrever uma conta para o cliente (não necessariamente um cliente com um significado realista, Pode ser uma dor de cabeça chamar essa classe) e pode ser uma dor de cabeça para vê -la, e pode ser possível alterar completamente a prática original após um período de tempo e abandonar completamente a versão antiga e substituí -la por uma versão nova.
4. A classe não pode ser privada ou protegida.
5. Se você não deseja nenhum objeto que gerem uma determinada classe, poderá definir todo o construtor como privado. Mas, mesmo assim, o objeto dessa classe pode ser gerado, que é o membro (propriedades e métodos) da classe estática.
Exemplo abrangente:
Primeiro.java:
Número do pacote; ; por classes e subclasses no mesmo pacote. ;
Saída:
Java Hello Test Hello Test