logo

Método estático versus método de instância em Java

Em Java, os métodos definem o comportamento de classes e objetos. Compreender a diferença entre métodos estáticos e métodos de instância é essencial para escrever código limpo e eficiente.

O que é um método estático?

UM método estático pertence à classe e não a qualquer objeto específico.

  • Pode ser chamado sem criar uma instância da classe.
  • Como os métodos estáticos são específicos de qualquer objeto, eles podem acessar apenas membros estáticos (dados e métodos) e não podem acessar membros não estáticos.
Java
import java.io.*; class Geeks {  // static method  public static void greet() {  System.out.println('Hello Geek!');  }  public static void main(String[] args) {  // calling the method directily  greet();  // using the class name  Geeks.greet();  } } 

Saída
Hello Geek! Hello Geek! 

Explicação: O exemplo acima mostra um método estático greet() dentro da classe Geeks. Métodos estáticos podem ser chamados sem criar um objeto. No método principal não estamos criando um objeto da classe Geek, estamos chamando o método diretamente pelo nome da classe que é Geeks e então imprimimos a saída.



O que é um método de instância?

Um Método de instância pertence a um objeto.

  • Precisa criar uma instância da classe para chamar.
  • Pode acessar variáveis ​​de instância, outros métodos de instância e membros estáticos da classe.
  • Tenha acesso a thisreferência que aponta para o objeto atual.
Java
import java.io.*; class Test {  String n = '';  // Instance method   public void test(String n) {   this.n = n;   } } class Geeks {  public static void main(String[] args) {  // create an instance of the class  Test t = new Test();  // calling an instance method in the class 'Geeks'  t.test('GeeksforGeeks');  System.out.println(t.n);  } } 

Saída
GeeksforGeeks 

Explicação: O exemplo acima mostra como usar um método de instância em Java. Estamos criando um objeto da classe Test e chamando o método de teste para definir um valor e então imprimindo a saída.

classificação por seleção em java

Diferença entre método estático e método de instância

A tabela a seguir lista os  principais diferenças entre os métodos estáticos e os métodos de instância em Java.

Características

Método estático

delimitador java

Método de instância

Definição

Criado usando a palavra-chave estática e recuperado sem criar um objeto.

Requer que um objeto de sua classe seja invocado.

Acesso

Acesse apenas variáveis ​​e métodos estáticos.

converter int para string java

Pode acessar membros estáticos e de instância.

this palavra-chave

Não é possível usar o esse palavra-chave dentro de métodos estáticos.

Pode usar a palavra-chave this para se referir ao objeto atual.

Substituir

Não suporta polimorfismo de tempo de execução

Suporta polimorfismo de tempo de execução

Alocação de memória

Carregado uma vez por aula

Cada objeto tem sua própria cópia

comando grep no linux


Criar questionário