estático significa "global" ou "estático", que é usado para modificar variáveis de membros e métodos de membros, e também pode formar blocos de código estático, mas não há conceito de variáveis globais no idioma Java.
Variáveis de membros e métodos de membro modificados pela estática são independentes de qualquer objeto da classe. Ou seja, não depende de instâncias específicas de classe e é compartilhado por todas as instâncias da classe.
Enquanto essa classe for carregada, a máquina virtual Java poderá encontrá -las na área de métodos da área de dados de tempo de execução, de acordo com o nome da classe. Portanto, um objeto estático pode ser acessado antes que qualquer um de seus objetos seja criado sem referência a qualquer objeto.
As variáveis estáticas e os métodos de membros modificados com o público são essencialmente variáveis globais e métodos globais.
As variáveis estáticas podem ser modificadas com privado, indicando que essa variável pode ser usada no bloco de código estático da classe, ou em outros métodos estáticos de membros da classe (é claro, também pode ser usada em métodos de membro não estático - absurdo - absurdo - ), mas não pode ser usado em outras classes, é importante consultar diretamente o nome da classe na classe. De fato, você precisa entender que privado é uma permissões de acesso restrito, e estático significa que ele pode ser usado sem instanciação, o que facilitará a compreensão. O efeito do estático anterior com outras palavras -chave de acesso também é semelhante.
Variáveis de membro e métodos de membro modificados por estática são chamados de variáveis estáticas e métodos estáticos.
Nome da classe.
Nome da classe
Um bloco de código estático é usado para representar um bloco de código estático.
1. Variáveis estáticas
As variáveis de classe podem ser classificadas de acordo com se são modificadas estaticamente: uma é uma variável que é estática ou variável de classe;
A diferença entre os dois é:
Para variáveis estáticas, possui apenas uma cópia na memória (salvamento de memória), a JVM aloca apenas a memória uma vez estaticamente Claro, ele também pode ser usado através de objetos.
Por exemplo, variáveis, se uma instância não for criada, a memória será alocada para a variável de instância uma vez.
Portanto, variáveis estáticas são geralmente usadas quando são necessárias duas funções a seguir:
Ao compartilhar valores entre objetos, ao acessar variáveis
2. Método estático
Os métodos estáticos podem ser chamados diretamente através de nomes de classe, e qualquer instância também pode ser chamada.
Portanto, as palavras -chave e super não podem ser usadas em métodos estáticos, e as variáveis de instância e os métodos de instância da classe pertencente não podem ser acessados diretamente (ou seja, variáveis de membros e métodos de membro sem estática) e só podem acessar a estática Variáveis de membros e métodos de membro da classe pertencente a.
Porque os membros da instância estão associados a objetos específicos! Isso requer compreensão e compreensão da verdade, não da memória! ! !
Como o método estático é independente de qualquer instância, o método estático deve ser implementado, não um abstrato abstrato.
Por exemplo, para facilitar a chamada dos métodos, todos os métodos da aula de matemática na API Java são estáticos, e os métodos estáticos nas classes gerais também são convenientes para outras classes chamarem esse método.
Os métodos estáticos são uma classe especial de métodos dentro de uma classe.
3. Bloco de código estático
Os blocos de código estáticos também são chamados de blocos de código estático. ser executado quando a JVM carregar a classe. Por exemplo:
classe pública Test5 {private estático int a; println (tb); System.Println (a);
Resultados em execução:
3
Hhahhahah
1000
4
5
Usando blocos de código estático, você pode atribuir valores a algumas variáveis estáticas. exemplo.
4. O que significa estático e final juntos?
A final estática é usada para modificar variáveis de membros e métodos de membros, que podem ser simplesmente entendidos como "Constantes Globais"!
Para variáveis, a representação não pode ser modificada assim que o valor é fornecido e pode ser acessado pelo nome da classe.
Para métodos, a representação não é substituída e pode ser acessada diretamente através do nome da classe.
Às vezes, você deseja definir um membro da classe para que ele use completamente independente de qualquer objeto dessa classe. Normalmente, um membro da classe deve ser acessado através de um objeto de sua classe, mas um membro pode ser criado que pode ser usado por ele mesmo sem precisar se referir a uma instância específica. Este membro pode ser criado precedendo a declaração do membro. Se um membro for declarado estático, poderá ser acessado antes que qualquer objeto de sua classe seja criado sem precisar se referir a nenhum objeto. Você pode declarar métodos e variáveis como estática. O exemplo mais comum de um membro estático é Main (). Como o main () deve ser chamado quando o programa começar a executar, ele é declarado estático.
Uma variável declarada como estática é essencialmente uma variável global. Quando um objeto é declarado, nenhuma cópia da variável estática é gerada, mas todas as variáveis de instância da classe compartilham a mesma variável estática. Os métodos declarados como estáticos têm as seguintes restrições:
Eles só podem chamar outros métodos estáticos.
Eles só têm acesso a dados estáticos.
Eles não podem se referir a isso ou super de forma alguma (a palavra -chave está relacionada à herança, descrita no próximo capítulo).
Se você precisar inicializar sua variável estática por cálculo, poderá declarar um bloco estático, que é executado apenas uma vez quando a classe é carregada. O exemplo a seguir mostra a classe com um método estático, algumas variáveis estáticas e um bloco de inicialização estática:
// Demonstrar variáveis estáticas, métodos e blocos. println ("a =" A); void main (string args []) {METH (42);
Depois que a classe usostática é carregada, todas as declarações estáticas são executadas. Primeiro, A é definido como 3, depois o bloco estático é executado (imprimindo uma mensagem) e, finalmente, B é inicializado para A*4 ou 12. Em seguida, ligue para main (), main () chama Meth () e passe o valor de 42 a x. As 3 instruções println () se referem a duas variáveis estáticas A e B e a variável local x.
Nota: É ilegal consultar qualquer variável de instância em um método estático.
Aqui está a saída do programa:
Bloco estático inicializado.
x = 42
a = 3
b = 12
Fora das classes que os definem, métodos e variáveis estáticos podem ser usados independentemente de qualquer objeto. Dessa forma, você só precisa adicionar um operador de pontos após o nome da classe. Por exemplo, se você deseja chamar um método estático de fora da classe, poderá usar o seguinte formato geral:
ClassName.method ()
Aqui, ClassName é o nome da classe, onde o método estático é definido. Como você pode ver, esse formato é semelhante ao formato de chamar métodos não estáticos por meio de variáveis de referência de objetos. Uma variável estática pode ser acessada no mesmo formato - o operador do nome da classe. Esta é uma versão de controle de como o Java implementa funções globais e variáveis globais.
Aqui está um exemplo. Em Main (), o método estático callme () e a variável estática B são acessados fora de sua classe.
classe staticdemo {static int a = 42; ) {Staticdemo.callme ();
Aqui está a saída do programa:
a = 42
b = 99
O membro estático não pode ser acessado pelas instâncias criadas pela classe em que estão localizadas.
Se um membro sem modificação estática for um membro do objeto, ele pertence a cada objeto.
O membro com modificação estática é um membro da classe, que pode ser chamado diretamente por uma classe e compartilhado por todos os objetos.
Através deste artigo, você entende o papel da estática em Java?