logo

Por que usamos classes estáticas em Java?

Em Java, estático é uma palavra-chave que pode ser usada com variáveis, classes, blocos e métodos. Quando usamos a palavra-chave static antes de qualquer um deles, significa que o membro especificado pertence ao próprio tipo. Em outras palavras, uma instância de um membro estático é criada e compartilhada entre todas as instâncias da classe.

Nesta seção, usaremos estático palavra-chave com o Classe Java e também entender por que usamos uma classe estática?

Classe estática Java

Podemos declarar uma classe estática usando a palavra-chave static. Uma classe só pode ser declarada estática se for uma classe aninhada . Não requer nenhuma referência da classe externa. A propriedade da classe estática é que ela não nos permite acessar os membros não estáticos da classe externa.

Para entender o conceito de classe estática, primeiro precisamos entender o conceito de interior, exterior, e aninhado aula.

Classe interna

As classes que não são estáticas e aninhadas são chamadas classes internas . Observe que não podemos criar uma instância da classe interna sem criar uma instância da classe externa. Sem usar a referência à instância da classe externa, uma instância da classe interna pode acessar os membros de sua classe externa. Isso torna o programa simples e conciso.

Classe externa

A classe na qual a classe aninhada é definida é chamada classe externa .

Classe aninhada

Java nos permite definir uma classe dentro de uma classe que é conhecida como classe aninhada . Pode ser estático ou não estático. A principal diferença entre classe estática e não estática é que:

  • Uma instância da classe aninhada estática pode ser criada sem criar uma instância de sua classe externa.
  • Os membros estáticos e não estáticos de uma classe externa podem ser acessados ​​por uma classe interna.
  • Os membros estáticos da classe externa podem ser acessados ​​apenas pela classe estática.

Lembrar

  • Todas as classes estáticas são classes aninhadas, mas vice-versa não é verdade.
  • Ele pode acessar apenas membros estáticos da classe externa.
  • Variáveis ​​não estáticas e métodos de instância não podem ser acessados ​​dentro da classe estática. Se você tentar acessar uma referência não estática de um campo estático, ocorrerá um erro: Não é possível fazer uma referência estática ao campo não estático.
  • Podemos criar blocos, variáveis ​​e métodos estáticos dentro de uma classe estática.
  • Uma classe pode ter várias classes estáticas.
  • Não podemos acessar a classe estática se ela estiver dentro do bloco estático.
  • Pode haver qualquer número de classes estáticas dentro de uma classe estática.

Exemplo de classe estática Java

JavaStaticClassExample.java

 public class JavaStaticClassExample { private static String s= 'Javatpoint'; //Static and nested class static class StaticNestedClass { //non-static method of the nested class public void show() { //prints the string defined in base class System.out.println(s); } } public static void main(String args[]) { JavaStaticClassExample.StaticNestedClass obj = new JavaStaticClassExample.StaticNestedClass(); //invoking the method of the nested class obj.show(); } } 

Saída:

 Javatpoint 

Por que usamos classe estática em Java?

Em Java, a palavra-chave estática é usada principalmente para gerenciamento de memória. Podemos usar a palavra-chave estática com variáveis, métodos, blocos e classes. Usar a classe estática é uma forma de agrupar classes. Também é usado para acessar o membro primitivo da classe envolvente por meio da referência do objeto. As classes estáticas são carregadas pelo carregador de classe no momento do primeiro uso, mas não quando a classe envolvente é carregada.