Este artigo estuda principalmente o conteúdo relacionado sobre o controle dos direitos de acesso à programação Java, como segue.
Para modificadores que eu não prestei atenção antes, geralmente, as variáveis não foram adicionadas antes, uma porque eu não sabia para que era e a outra era porque eu era preguiçoso. Quando encontrei um projeto mais tarde, descobri que ainda havia uma grande diferença entre privado e público.
(1) Primeiro de tudo, o nome do pacote
Ao usar uma classe, como uma classe de coleção, você precisa apresentar este pacote e usar a classe abaixo do pacote. como:
pacote com.myown.iaiti; public class Print {estático void print (strings s) {System.out.println (s); }}Pacotes personalizados, introduzindo seus próprios pacotes, você pode usar o método que você escreveu para imprimir strings no futuro. Eu tentei definir o caminho do meu próprio pacote em ClassPath antes; portanto, ao compilar em outros diretórios, você não precisa colocar o pacote nesse diretório e ele também pode ser executado normalmente, caso contrário, o pacote JAR não será encontrado.
(2) público
Público, público, no passado, os professores costumavam usar o Lao Tzu como metáfora. Isso é uma coisa pública, eu vou usá -lo para você. O público segue de perto os membros dos dados, o que significa que está disponível para todos.
(3) Privado
Privado, privado, minha propriedade privada, não toque. Exceto pela classe que contém esse membro de dados no pacote que pode ser usado, outras classes não podem ser usadas. Esta parte é algo que o próprio designer não deseja mostrar ou modificar para pessoas de fora.
public class Print {public static void main (string [] args) {getit g = new getit (); }} classe getit {// Observe que um arquivo pode ter apenas uma classe pública. Se você deseja adicionar público na frente de //, não escreva no mesmo arquivo que imprimir private getit () {}}O construtor getit () não é visível, não é visível, pode -se ver que é útil. O padrão Singleton também é usado dessa maneira, controlando a criação de objetos.
Aplicação do modo Singleton:
classe a {private a () {} private static a a = new a (); public static a getInstace () {return a; }}Outras classes não podem criar objetos através de novos, porque o construtor é modificado por privado. O objetivo é que, quando essa classe A é extremamente complexa e consome memória, preciso controlar estritamente a criação de objetos. Como demos um único caso, falaremos sobre o caso único. Eu já li os escritos de algumas pessoas antes, é tão clássico e incrível.
O exposto acima é um estilo de homem faminto, que é para ajudá -lo a se tornar novo assim que você vier, e use -o diretamente quando você fica novo no futuro. Não há problema de rosqueamento. A desvantagem é que, se for inútil, será um desperdício de recursos.
Estilo preguiçoso
public class A {private a () {} private static a a a; public static a getInstance () {if (a == null) {return a = new a (); } else {return a; }}}Isso ajudará você a usar quando você o usar, e será novo quando você o usar, mas há um problema de rosqueamento. Se você adicionar sincronizado, a eficiência será reduzida porque, se você o usar, um deles será ocupado.
A maneira perfeita é combinar os dois:
classe pública A {// classe interna estática privada, a classe será carregada apenas quando houver uma classe estática privada de referência LAZYA {public static aa = novo a (); } public static a getInstance () {return lazya.a; }}Não consigo entender essa chamada classe interna estática antes. A função é alcançar o carregamento atrasado, porque só será usado quando novo. Use o método getInstance. Não há nenhum problema com várias threading, porque a classe estática pertence a todos os objetos de classe externa e será carregada apenas uma vez. Depois que a classe interna estática é instanciada, é um atributo de nível de classe, que não pertence a um determinado objeto, mas será carregado apenas uma vez. Dessa forma, não haverá desperdício de recursos e não há problema de ineficiência de multi-threading. A pessoa que criou esse método é realmente incrível.
(4) protegido
A impressão é a categoria base. Os chineses gostam de falar sobre a categoria de pais, mas os estrangeiros pensam que as subcategorias são mais impressionantes. A categoria base é uma base ou fundação. Protegido é a propriedade que deixei especificamente para meu filho.
public class Print {Protected void print () {} private void não pode imprimir () {}} classe public Printson estende a impressão {void get () {print (); // não éPrint (); Método privado privado, as subclasses ainda não podem ser usadas}} public class Notson {void get () {print (); }}A subclasse modificada protegida pode ser obtida, entre público e privado.
(5) Permissões de acesso para aula
Cada arquivo pode ter apenas uma aula pública.
O nome da classe e o nome do arquivo são os mesmos.
Se você não tiver uma base básica, será um pouco antes do tempo, mas depois que os pontos de conhecimento forem aprimorados, será fácil entender. O controle dos direitos de acesso ainda depende se você deseja usar sua parte do seu código diretamente para outras pessoas.
Resumir
O exposto acima é toda a explicação detalhada do código de controle para permissões de acesso à programação Java neste artigo, espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!