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
		}	
}