Difference between revisions of "Enums"

From Suhrid.net Wiki
Jump to navigationJump to search
Line 37: Line 37:
  
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
* Enum instances are instances of the enum type. Like instances of any class.
  
 
== Declaration ==
 
== Declaration ==

Revision as of 23:10, 24 June 2011

  • Enums are a feature that allows a variable to be restricted to having only a few predefined values.
  • e.g. if we want to restrict a variable that represents t-shirt sizes and colors to only one of four possible sizes, we can use an enum:
enum TShirtSize {
     S,M, L, XL
};

enum TShirtColor {
	RED, BLACK, BLUE, WHITE;
}

public class TShirt {
	
	private TShirtSize size;
	private TShirtColor color;
	
	public TShirt(TShirtSize size, TShirtColor color) {
		this.size = size;
		this.color = color;
	}
	
	public String toString() {
		return size + ","  + color;
	}
	
	public static void main(String[] args) {
		
		TShirt t1 = new TShirt(TShirtSize.M, TShirtColor.RED);
		System.out.println(t1); //Will print: M, RED;
		TShirt t2 = new TShirt(TShirtSize.L, TShirtColor.WHITE);
		System.out.println(t2); //Will print: L, WHITE;
	}

}
  • Enum instances are instances of the enum type. Like instances of any class.

Declaration

  • Enums behave like non-inner classes.
  • Enum can be declared ONLY with public or default modifier (like a non-inner class).
  • If they are made public - they must be in their own file (like public classes).
  • Cannot be declared within methods.