*
The moose likes Java in General and the fly likes confusion regardind enum and constructors Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "confusion regardind enum and constructors" Watch "confusion regardind enum and constructors" New topic
Author

confusion regardind enum and constructors

kapilg gupta
Greenhorn

Joined: Jun 14, 2006
Posts: 10
enum Coffesize
{
BIG(8),HUGE(10)

Coffeesize (int ounces)
{
this.ounces=ounces;
}
private in ounces;
public int getounces()
{
return ounces;
}
}
class Coffee
{
Coffesize size;
public Staic...........................
Coffe drink1=new Coffee();
drink1.size=Cofeesize.BIG;//this statement calls the constructor altough
integer is not passed how
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

You never call the destructor of an enum explicitly.

An enum is a kind of class, of which only a fixed number of instances exist: the constants that you defined in the enum. So in your case, there are two instances, referred to by BIG and HUGE.

You can re-write an enum as a regular class; maybe this will help you to understand what happens. It looks more or less like this:


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 37874
    
  22
But it doesn't work. You are not calling its constructor, but its "ounces" attribute, which you have quite correctly given private access. Your app won't compile.
You can read all about enums here in the Java tutorial.

CR
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: confusion regardind enum and constructors
 
Similar Threads
Enum programs are not compiling in java5.0 compiler?
a variable is used before declaration in enum and its running ok how
Enums...
use of " this " ...
Question about enums and enhanced for