mi sto creando il solito progetto per testare le varie cose imparate dal libro, siccome non trovo esempi in rete, ho provato a fare un costruttore che gestisce un tipo enum:

codice:
package book.examples;

public class Telefonino {
	
	public Telefonino(enum myFormFactor,boolean myFlashCamera) {
		formFactor = myFormFactor;
		flashCamera = myFlashCamera;
	}

	enum formFactor {FULLTOUCH,CANDYBAR,SLIDE}
	int pixelXDisplay;
	int pixelYDisplay;
	int pixelCamera;
	boolean flashCamera;
	String nomeProduttore;
	String nomeModello;
}
ora, tralasciando il fatto che ho lasciato incompleto il corpo del metodo costruttore per questo errore insieme al resto della classe, l'errore si risolve se enumero le opzioni del tipo enum così:

codice:
package book.examples;

public class Telefonino {
	
	public Telefonino(enum myFormFactor {FULLTOUCH,CANDYBAR,SLIDE},boolean myFlashCamera) {
		formFactor = myFormFactor;
		flashCamera = myFlashCamera;
	}

	enum formFactor {FULLTOUCH,CANDYBAR,SLIDE}
	int pixelXDisplay;
	int pixelYDisplay;
	int pixelCamera;
	boolean flashCamera;
	String nomeProduttore;
	String nomeModello;
}
la domanda è: perché ?
della firma di un metodo non fanno parte solo quantità e tipo delle variaibili, tipo e valore restituito dal metodo? in altre parole, scrivere che il tipo è un enum non è sufficiente?

uso eclipse.