Métodos de classe em Java | Explicado

Métodos de classe em Java | Explicado
Em Java, um método não passa de um bloco de código/declaração declarado dentro da classe e pode executar ações diferentes quando alguém o chama. Alguns métodos podem ser chamados diretamente com seu nome (i.e. sem criar o objeto de classe) enquanto alguns métodos exigem instância/objeto da classe (i.e. deve ser invocado com o objeto da classe).

Os métodos que podem ser chamados diretamente são referidos como um Métodos de classe ou estática, enquanto os métodos que precisam de um objeto da classe a serem invocados são referidos como Métodos de instância ou não estáticos.

Este artigo apresentará uma visão geral detalhada dos métodos de classe e, a esse respeito, cobrirá os seguintes aspectos dos métodos de classe Java:

  • O que é um método de classe
  • Como acessar métodos de classe
  • Como acessar métodos públicos
  • Como acessar um método de uma classe diferente

Vamos começar!

Método de classe em Java

Geralmente, quando temos uma aula, temos que criar um objeto dessa classe para acessar seus métodos e outros membros. No entanto, os métodos de classe/estática podem ser acessados ​​dentro da classe sem criar uma instância dessa classe.

Como acessar métodos de classe

Vamos considerar o exemplo abaixo para entender como criar e acessar um método estático/classe em java.

Exemplo

O snippet de código abaixo leva dois números do usuário e executa a adição neles:

classe pública AddNumbers
public static int adição (int num1, int num2)
int add = num1 + num2;
retornar add;

public static void main (string [] args)
int número 1, número2, soma;
Scanner Scan = New Scanner (sistema.em);
Sistema.fora.print ("Digite o 1º número:");
número1 = varredura.nextInt ();
Sistema.fora.print ("Digite o 2º número:");
número2 = varredura.nextInt ();
soma = adição (número 1, número2);
Sistema.fora.println ("sum =" + soma);

O código completo e sua respectiva saída serão algo assim:

Na saída acima, fica claro que não há necessidade de criar o objeto da classe para chamar um método estático, em vez de ser acessado diretamente na classe.

Como acessar métodos públicos

Agora, vamos considerar o exemplo abaixo para testar se um método público pode ser acessado diretamente ou não:

classe pública AddNumbers
public int adição (int num1, int num2)
int add = num1 + num2;
retornar add;

public static void main (string [] args)
int número 1, número2, soma;
Scanner Scan = New Scanner (sistema.em);
Sistema.fora.print ("Digite o 1º número:");
número1 = varredura.nextInt ();
Sistema.fora.print ("Digite o 2º número:");
número2 = varredura.nextInt ();
soma = adição (número 1, número2);
Sistema.fora.println ("sum =" + soma);

Todo o código é o mesmo do exemplo anterior, exceto o modificador de acesso, mas desta vez recebemos um erro, como mostrado no seguinte snippet de código:

Para acessar uma função não estática, primeiro, temos que criar o objeto da classe, então poderemos acessar o método da classe:

O trecho acima verifica que, quando chamamos o método não estático com a ajuda de um objeto de classe, ele funciona adequadamente e fornece a saída sem erros.

Como acessar um método de uma classe diferente

Vimos que um método estático não exige que nenhum objeto seja chamado na mesma classe, mas o que acontecerá quando tivermos várias classes? O método estático será invocado diretamente nesse caso? Vamos experimentar com isso!

Exemplo

Vamos considerar que temos duas aulas: uma classe chamada “Addnumbers”Que manterá o método principal e o segundo é“Myfunctions" aula:

Myfunctions.Java

pacote addnumbers;
public class MyFunctions
public static int adição (int num1, int num2)
int add = num1 + num2;
retornar add;

Addnumbers.Java

classe pública AddNumbers
public static void main (string [] args)
int número 1, número2, soma;
Scanner Scan = New Scanner (sistema.em);
Sistema.fora.print ("Digite o 1º número:");
número1 = varredura.nextInt ();
Sistema.fora.print ("Digite o 2º número:");
número2 = varredura.nextInt ();
soma = adição (número 1, número2);
Sistema.fora.println ("sum =" + soma);

Nós chamamos o Adição função do Myfunctions classe do principal método de Addnumbers aula:

Embora o método de adição seja estático, mas ainda recebemos um erro quando tentamos acessá -lo diretamente. Isso ocorre porque o método de adição não está na mesma classe. Portanto, para acessar o método de alguma outra classe, temos para criar o objeto dessa classe, independentemente do seu modificador de acesso I.e. estático ou público.

Addnumbers.Java

classe pública AddNumbers
public static void main (string [] args)
int número 1, número2, soma;
Scanner Scan = New Scanner (sistema.em);
Sistema.fora.print ("Digite o 1º número:");
número1 = varredura.nextInt ();
Sistema.fora.print ("Digite o 2º número:");
número2 = varredura.nextInt ();
Myfunctions obj = new myfunctions ();
soma = obj.adição (número1, número2);
Sistema.fora.println ("sum =" + soma);

Desta vez, criamos o objeto de Myfunctions classe na função principal de Addnumbers classe e então acessamos o Adição Método com a ajuda desse objeto:

Agora, o trecho acima verifica se o erro foi e, com a ajuda da aula do objeto de myfunctions, obtivemos os resultados desejados.

Conclusão

O método de classe/estático pode ser acessado diretamente dentro da classe enquanto acessa os métodos públicos sem criar o objeto não é possível. Enquanto, no caso de várias classes, os métodos poderão ser acessados ​​apenas com a ajuda de objetos de classe, independentemente de seu modificador de acesso. Este artigo fornece um guia abrangente do que são métodos de classe e como acessá-los da mesma classe e de uma classe diferente.