estático: (modificador estático) O conteúdo da modificação estática em um objeto orientado a objeto pertence à classe, não diretamente afiliado ao objeto; portanto, as variáveis de membro modificadas pela estática são geralmente chamadas de variáveis de membro da classe, e o método de modificação estática geralmente é chamado de métodos de classe.
Classificação:
1. Variáveis estáticas, também chamadas variáveis estáticas ou variáveis de classe. Outro tipo é uma variável que não é modificada por estática, chamada de variável de instância.
2. Método estático, também chamado método estático ou método de classe, não pode definir variáveis estáticas em métodos estáticos, e os métodos de instância não podem.
3. Bloco de código estático, em um bloco estático, você pode acessar variáveis estáticas e chamar métodos estáticos.
Notas:
1. Se a estática não depende de nenhum objeto, não há esse método.
2. O método estático não pode chamar um método não estático, mas um método não estático pode chamar um método estático.
3. Métodos ou variáveis modificadas pela estática não precisam confiar em objetos para acesso. Enquanto a classe for carregada, eles podem ser acessados através do nome da classe.
4. O método estático não pode ser reescrito. Quando a subclasse e a classe pai têm o mesmo método estático, a chamada padrão é o método estático da classe pai e o método estático da subclasse está oculto.
5. Os blocos estáticos são geralmente usados para inicializar variáveis estáticas nas classes. Com base no conteúdo das modificações estáticas, o princípio da primeira definição e a primeira execução é seguida.
6. Se as variáveis ou métodos forem chamados, use modificação estática. Caso contrário, use -o menos para evitar vazamentos de memória.
Exemplo Código de variáveis estáticas:
Public class Test {static int a = 1; // variável estática int b = 2; // variável de instância public static void main (string [] args) {System.out.println (test.a); //System.out.print(a);system.out.println(b); // A variável de saída diretamente B relatará um teste de erro t = new test (); // Crie a instância Object System.out.println (TB); // Objeto Calls Variable}}Exemplo de código para métodos estáticos:
Public class Test {static int a = 1; // variável estática int b = 2; // Variável de instância Void estático A () {// Método estático B (); // Um erro é relatado, o método estático não pode chamar o método não estático System.out.println (test.a); //System.out.print(a); }Void b () {// não-estático test.a (); //UM(); O método não estático pode chamar o método estático System.out.println (b); System.out.println (test.a); //System.out.print(a);} public estático void main (string [] args) {test.a (); // a (); b (); // Um erro é relatado, métodos não estáticos precisam ser chamados através de um teste de objeto de instância t = new test (); tb ();}}/**pode ser reescrito*/classe staticSon estende teste {// subclasse de que a classe paternidade não pode ser rewring a () {// um erro é relatado, o método estático da fatemoid não pode ser rewring rewr. Método estático da subclasse, estritamente falando, não é um método estático da classe pai}}Exemplo de código de bloco estático:
Public class Test {int c = 3; estático int a = 1; estático int b = 2; estático {a = 10; b = 20; c = 30; // Relatório um erro, a variável no bloco estático deve ser o sistema estático variável.out.println (a+b);} public static void main (string [] args) {test t = new test (); system.out.println (tc); // Execute a variável estática primeiro e depois execute a variável da instância}} Final: entenda como imutável.
Notas:
1. Final e estático são frequentemente usados juntos.
2. As variáveis modificadas pelo final só podem ser atribuídas uma vez.
3. O método final não pode ser reescrito, mas pode ser sobrecarregado.
4. A classe final não pode ser herdada.
5. As duas palavras -chave finais e abstratas são opostas, e é impossível modificar a classe ao mesmo tempo. Porque Final não pode ser reescrito e resumo deve ser reescrito.
6. A palavra -chave final é diferente da palavra -chave final, que é usada para manipulação de exceções.
7. Na maioria dos casos, o final não é usado para modificar métodos e classes porque não são escaláveis.
8. Final pode ser usado em um determinado ambiente para melhorar o desempenho em execução do programa e otimizar a estrutura do programa.
Exemplo de código de variáveis finais e classes finais:
Teste de classe final pública {final estático int a = 1; estático {a = 10; // Relatório um erro, apenas uma operação de atribuição pode ser executada}} classe Finalsson estende teste {// Relatório Um erro, a classe final não pode ser herdada}Exemplo Código do Método Final:
public class Test {final estático int a = 1; vazio final a () {// Final Method System.out.println (a);}} classe FinalTest estende teste {void a () {// um erro é relatado, o método final não pode ser reescrito System.out.println ("Err");}}