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