枚举的每一个成员变量就是枚举类型自身的一个实例。枚举的实例在编译的时候就能确定枚举类型有多少个
实例对象 。
每一个枚举都继承自java.lang.Enum类,枚举的每个成员默认都是 public static final 的。
当定义一个 枚举类型后,在编译时刻就能确定该枚举类型有几个实例,分别是什么。在运行期间我们无法再
使用该枚举类型创建新的实例了,这些实例在编译期间就已经完全确定下来了。
public enum Coin
{
penny("hello<span style="font-family: Arial, Helvetica, sans-serif;">") ,nickel("world"),dime("welcome"),quarter("hello world");</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>private String value;</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>public String getValue()</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>{</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>return value;</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>}</span>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>Coin(String value) //这是枚举的构造方法</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>{</span>
<span style="white-space:pre"> </span>this.value = value ;
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>}</span>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>public static void main(String[] args) //另外 枚举里也能定义main方法</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>{</span>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span></span><pre name="code" class="java"><span style="font-family: Arial, Helvetica, sans-serif;"> <span style="white-space:pre"> </span>//当执行这行代码的时候 枚举的构造方法得到调用 构造方法里的String value</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span> </span>//<span> </span>在penny("hello") 里面的字符串 "hello" 就是构造方法里的String value 参数 ,充分体现了 枚举类型的一个成员变量就是该枚举的一个实例这样的思想</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>Coin coin = Coin.quarter; </span>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>System.out.println("coin.getValue");</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span>}</span>
}