English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ogni volta che restitui un valore da un metodo statico, per default non sono né valori statici né valori di istanza, sono semplicemente valori.
Gli utenti che chiamano il metodo possono usarli a seconda delle loro esigenze. Vale a dire, puoi recuperare il valore e dichiararlo come statico.
Ma, se hai bisogno di dichiarare un valore restituito da un metodo statico, non puoi dichiarare una variabile del metodo statico, quindi devi chiamarlo all'esterno della classe.
Immaginiamo di avere una classe chiamata Demo-
class Demo{ int data = 20; public Demo(int data){ this.data = data; } public int getData(){ return this.data; } }
Nell'esempio Java seguente, abbiamo due metodigetObject()
, rispettivamentegetInt()
Restituisce un oggetto e un intero.
Abbiamo chiamato questi metodi due volte sia nella classe che nel metodo. Nella classe, abbiamo dichiarato i valori restituiti come static.
Nella funzione, li utilizziamo come variabili locali (ovviamente non statiche).
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); } }
Risultato di output
20 300 20 300