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

¿Son estáticos los valores devueltos por métodos estáticos en Java?

Cada vez que regreses un valor desde un método estático, por defecto, no son valores estáticos ni valores de instancia, solo son valores.

El usuario que llama al método puede usarlas según sea necesario. Es decir, puedes recuperar el valor y declararlo como estático.

Pero, si necesitas declarar una variable de método estático que retorne un valor, no puedes declarar la variable del método estático, por lo que debes llamarla fuera del método de la clase.

Ejemplo

Supongamos que tenemos una clase llamada Demo-

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

En el siguiente ejemplo de Java, tenemos dos métodosgetObject(), respectivamentegetInt()Devuelve un objeto y un entero.

Llamamos a estos métodos dos veces en la clase y el método. En esta clase, hemos declarado los valores devueltos como estáticos.

En el método, las usamos (los valores devueltos por el método) como variables locales (obviamente no 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 la salida

20
300
20
300
Te gustará