English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

O valor retornado pelo método estático é estático no Java?

Cada vez que você retornar um valor de um método estático, por padrão, eles não são valores estáticos nem valores de instância, eles são apenas valores.

O usuário que chama o método pode usá-lo conforme necessário. Em outras palavras, você pode recuperar o valor e declará-lo como estático.

Mas, devido ao fato de que se precisar declarar um valor retornado por um método estático, não é possível declarar uma variável para o método estático, portanto, é necessário chamá-lo fora do corpo da classe.

Exemplo

Supondo que tenhamos uma classe chamada Demo-

class Demo{
   int data = 20;
   public Demo(int data){
      this.data = data;
   }
   public int getData(){
      return this.data;
   }
}

No exemplo Java a seguir, temos dois métodosgetObject(), respectivamentegetInt()Retorna um objeto e um inteiro.

Chamamos esses métodos duas vezes, tanto na classe quanto no método. Na classe, já declaramos os valores retornados como estáticos.

Nas métodos, usamos-as (os valores retornados pelos métodos) como variáveis locais (obviamente não estáticas).

public class StaticExample{
   static int data = StaticExample.getInt();
   static Demo obj = StaticExample.getObject();
   public static Demo getObject(){
      Demo obj = new Demo(300);
      return obj;
   }
   public static int getInt(){
      return 20;
   }
   public static void main(String args[]) {
      System.out.println(StaticExample.data);
      System.out.println(StaticExample.obj.data);
      StaticExample obj = new StaticExample();
      System.out.println(obj.getInt());
      Demo demo = obj.getObject();
      System.out.println(demo.data);
   }
}

Resultados de Saída

20
300
20
300
Você também pode gostar