Originariamente inviato da francesco.muia
Allora partiamo col dire che un enum non è un tipo primitivo (se non è chiaro questo è difficile capirsi). Quindi essendo un "Tipo", e ti ricordo che java e strettamente tipato, Nel primo caso tu cerchi di passare come primo parametro del costruttore l'oggetto myFormFactor di tipo enum il che non è possibile in quanto "enum" è una parola chiave in java e quindi non potresti mai potuto dichiarare una classe,enumeratore,interfaccia etc con questo nome.
Il secondo pezzo di codice non so come fa a funzionarti, in quanto non è possibile dichiarare un parametro in quel modo....
il modo per dichiarlo è questo:
codice:
public class Telefonino
{

	private formFactor formFactor;

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


}
quindi enum si comporta come String? Cioé non sono tipi primitivi ma classi o oggetti a seconda dei casi (se sono istanziati o meno in oggetti) ?

non mi è chiara però la dichiarazione

codice:
private formFactor formFactor;
cosa crea? un oggetto? istanzia qualcosa?