HOWTO · Java

Use métodos estáticos em Java

Este artigo apresenta quando usar métodos estáticos em Java.

Em Java, a palavra-chave estática invoca um método ou uma variável sem instanciar a instância da classe. Você não precisa criar a variável de instância, e o nome da classe é usado diretamente para fazer uma chamada para as variáveis ​​e métodos de membro.

Um exemplo desse método público é o método main. A função não precisa de nenhum objeto para chamar este comando; portanto, a execução do programa começa do principal.

Métodos estáticos ou variáveis ​​pertencem a uma classe em vez de seu objeto. Você não precisa criar a instância da classe para chamar os métodos estáticos. Membros estáticos também podem acessar as variáveis ​​estáticas e alterar o valor das mesmas.

O código dentro dos métodos estáticos tem menos probabilidade de ser alterado. Além disso, os métodos estáticos não podem ser substituídos. É menos provável que o código seja alterado, portanto, ele deve ser extraído na função.

As vantagens obtidas com as variáveis ​​estáticas estão listadas abaixo.

  1. O uso de variáveis ​​estáticas aumenta o desempenho do programa. Depois de criados, eles são injetados diretamente como e quando necessário.
  2. As chamadas de método se tornam mais fáceis quando não há necessidade de adicionar uma palavra-chave new junto com o nome do método. Em vez disso, o nome da classe se acostuma a chamar os métodos.

Abaixo está o programa que demonstra o uso de estática em Java.

public class Main {
  public static void main(String[] args) {
    College clg = new College();
    clg.display();
    System.out.println(clg.clgName);
    System.out.println(College.getName());
  }
}

class College {
  static String name = "IJK";
  String clgName = "IIT";

  static String getName() {
    //        return clgName;
    return name;
  }

  public void display() {
    System.out.println("I am in College");
  }
}

No bloco de código acima, o uso do método estático e variáveis ​​estáticas estão presentes.

O código cria uma classe de driver pública chamada StaticMethodRepresentation e uma classe não pública College. A classe da faculdade possui membros estáticos e não estáticos. A função do driver tenta criar a instância da classe College usando a palavra-chave new. A nova palavra-chave invoca o construtor público da classe College.

Como nenhum construtor público é definido, a JVM chama o construtor padrão na classe. A instância de classe é usada para invocar a função pública display da classe College; que é invocado e imprime a string presente.

Da mesma forma, usando a instância dessa classe, pode-se acessar sua variável de membro. Mas para acessar as funções estáticas, não há necessidade de criar uma nova instância de classe. Em vez disso, o nome da classe pode ser usado para chamá-la. Portanto, na última instrução de impressão, o nome da classe invoca a função estática.

Na definição da função, existe uma linha comentada. A linha tenta acessar o membro não estático da classe. Ainda assim, membros estáticos podem acessar apenas os membros estáticos; portanto, não é viável acessá-los. Portanto, uma string estática é retornada da função.

A saída do bloco de código acima, mostrando o uso de palavras-chave estáticas, é mostrada abaixo.

I am in College IIT IJK