Originariamente inviato da abcd1000
mi potresti fare un esempio di una situazione in cui un metodo non può essere dichiarato statico?
codice:
import java.util.*;
public class NoStatic{
// ELEMENTI STATIC:
static private int initialized = 1;
static private int notInitialized; //tipo primitivo inizializzato dal Compilatore a 0 (default value)
static private Object objInit = new Object(); // tipo non primitivo inizializzato
static private Object objNotInit; // tipo non primitivo non inizializzato
// ELEMENTI PRIVATE:
private int nonStatic = 2;
private Object nonStaticObj = new Object();
// METODI STATIC:
static public int getInitialized(){return initialized;}
static public int getNotInitialized(){return notInitialized;}
// static public int getNonStatic(){return nonStatic;} // <- ERRORE
// non-static variable nonStatic cannot be referenced from a static context
static public String getObjNotInit(){return objNotInit.toString();}
static public String getObjInit(){return objInit.toString();}
// static public String getNonStaticObj(){return nonStaticObj.toString();}
// non-static variable nonStaticObj cannot be referenced from a static context
public static void main(String[] args){
System.out.println(NoStatic.getInitialized());
System.out.println(NoStatic.getNotInitialized());
System.out.println(NoStatic.getObjInit());
System.out.println(NoStatic.getObjNotInit()); // <- ERRORE: tipo non primitivo non inizializzato
}
}