Este artigo analisa brevemente o uso da estática em Java e principalmente cinco aspectos: variáveis estáticas de membros, métodos estáticos, bloqueios estáticos, classes internas estáticas e pacotes estáticos.
Primeiro de tudo, vamos falar sobre a diferença entre objetos estáticos e objetos não estáticos em uma tabela:
| Objetos estáticos | Objetos não estáticos | |
| Atribuição | Aulas têm | Cada instância da classe pertence independentemente |
| Alocação de memória | Fixo no espaço da memória | Atribuição de classe de afiliados |
| Alocação de ordem espacial | Priorize a alocação do espaço estático do objeto | Prioridade aloca espaço estático de objeto, e o mesmo é verdadeiro para a inicialização |
1 variáveis estáticas, métodos estáticos, blocos estáticos
Objetos estáticos e métodos estáticos são decorados com palavras -chave estáticas nos objetos e métodos originais, indicando que a classe pode chamá -los diretamente sem instantá -los antes de chamá -los. Os benefícios são:
1-Os dados dos objetos estáticos são globalmente únicos e podem garantir a singularidade dos dados.
2-Caso em citar, basta usar o nome e o método da classe (propriedades) diretamente, sem necessidade de obter e definir
Obviamente, métodos estáticos (variáveis, blocos) também têm restrições correspondentes:
1-não outros métodos não estáticos podem ser chamados (apenas métodos estáticos podem ser chamados)
2-apenas acessar dados estáticos
3-Isso ou super não pode ser referenciado de forma alguma
Código de exemplo:
classe pública staticexercise {public static string sky = "jeyson"; public static string getMysky (string sky) {return sky;} static {System.out.println ("Este é o conteúdo do bloqueio estático:"); System.out.println ("Static Block:"+getMysky (skin); Globalmente exclusivo e pode ser garantido que os dados sejam exclusivos. * 2-A referência é conveniente, basta usar o nome e o método da classe, sem definir e obter *** *** Atribuir ordem espacial:* alocar primeiro espaço estático de objeto e depois não estático. A ordem de inicialização é a mesma *** *** Variáveis finais de membros e métodos de membros podem ser entendidos como variáveis globais (não há conceito de variáveis globais em Java) *** Limitações de objetos estáticos, métodos e bloqueios:* 1 somente chamam outros métodos estáticos* Acesso de dados estática* 3-3-Único ou* não pode ser referido* não é referido em que os dados estáticos*, de maneira estática*,* 3-o@super* não pode ser referido em que* não se referem a* Acesso a mais de que os dados estáticos* 3-o@bloqueio* não pode ser referido em todos os dados estáticos. testStatic1 () {System.out.println (Sky); System.out.println ("-----------------"); System.out.println (getMysky (Sky)); System.out.println ("---------------"); System.out.println (StatictSt.getsms (); 2 classe interna estática
Quando uma classe está intimamente relacionada a outra classe (classe externa) e a classe geralmente é usada apenas quando uma classe externa é usada, a classe pode ser usada como uma classe interna estática. Isso pode ser gerado diretamente à medida que a classe é carregada. Não há necessidade de instanciá -lo.
Método de uso: carregado com a classe e ligue para classe externa direta, classe interna, objeto estático (método)
Código de exemplo:
classe statictest {public static string sms = "para o meu céu"; public static string getsms () {return sms;}/*** classe interna estática *** *** cenário de uso:*A classe interna está intimamente relacionada à classe externa, e essa classe geralmente é usada apenas quando o uso da classe externa *** **** Classe interna. Objeto estático (Method)*/classe estática entusiasta {public static final string mysky = "meu céu final";}} @testpublic void testStatic2 () {System.out.println (statictest.Innerstatic.mysky);} 2 pacote de guia estático
Se a classe em que o método estático que você deseja usar não estiver no mesmo pacote da classe atual, você poderá usar o pacote de entrega estática. Dessa maneira, o método estático ou a variável que você deseja usar é equivalente a ser diretamente visível na classe, e não há necessidade de chamar o nome da classe ou a variável estática.
Como usar:
Importar Nome do pacote estático.
beneficiar:
As variáveis e métodos estáticos importados são diretamente visíveis nesta classe e são usados diretamente
ferir:
Até certo ponto, a legibilidade do código é reduzida
Exemplo de código:
public class MyStaticImportTest {public static final int number=55;public static void getMyWords(){System.out.println("hello , this is a test of static lead package");}} import static com.generic.MyStaticImportTest.number;import static com.generic.MyStaticImportTest.getMyWords;/*** @Description:* Static*/public class Staticexercise {/*** Pacote de chumbo estático* *** Método de uso:* Importação estática direta variáveis e métodos correspondentes: (importar nome estático de pacote. Nome da classe. As variáveis são diretamente visíveis nesta classe, não há necessidade de fornecer o nome da classe *** *** desvantagens* até certo ponto reduz a legibilidade do código*/@testpublic void testStatic3 () {// Após a importação estática, você pode usar int myNumber = número; getMywords ();}}}O exposto acima é uma breve análise do uso de palavras -chave estáticas em Java apresentado a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!