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