关于枚举
为了减少BUG,哈哈,以后要多用,貌似到现在为止,我的实用的程序中还没有用到过枚举呢,失败啊 
-------------------------------
1 利用枚举有助于减少代码中的bug。因为你可以固定某个变量的值在哪些指中取。
  
例:enum CoffeeSize{BIG,HUGE,OVERWHELMING};
     
2 枚举可以在自己的类中声明,也可以在另外一个类中,而访问枚举成员的方法很依赖于枚举声明的位置,记住,不可以在方法内部声明枚举。
  
3 每个枚举的值其实都是枚举类型的一个实例,拿上面的例子来说,BIG,HUGE,OVERWHELMING分别为CoffeeSize的一个实例。
  
4 每个枚举的值都知道自己的索引或位置。因为,枚举值的顺序是在声明时就已经决定的,可以将CoffeeSize枚举看作是存在于CofffeeSize类型的数组中。
  
5 可以为枚举添加构造函数,实例变量,方法,并且每个枚举都有一个静态方法values(),它以声明枚举时的顺序返回这些值的一个数组。
  
6 枚举的构造函数可以被重写。(有兴趣可进一步研究,呵呵)
  
例:
 
 
  
-----------------------------还有几句话要说,哈哈
  
再说几句:
1 局部变量的生命周期从方法内开始。当方法完成时,局部变量也会被销毁。
2 局部变量总是位于栈上,而不是堆上。
3 不存在栈对象,只有栈变量。
4 合法并不意味值合适 。
5 在声明中包含数组大小永远是不合法的。
6 记住:只有在真正实例化对象时,JVM才会分配空间。因此,实例化是才涉及到数组的大小问题。>
-------------------------------
1 利用枚举有助于减少代码中的bug。因为你可以固定某个变量的值在哪些指中取。
例:enum CoffeeSize{BIG,HUGE,OVERWHELMING};
2 枚举可以在自己的类中声明,也可以在另外一个类中,而访问枚举成员的方法很依赖于枚举声明的位置,记住,不可以在方法内部声明枚举。
3 每个枚举的值其实都是枚举类型的一个实例,拿上面的例子来说,BIG,HUGE,OVERWHELMING分别为CoffeeSize的一个实例。
4 每个枚举的值都知道自己的索引或位置。因为,枚举值的顺序是在声明时就已经决定的,可以将CoffeeSize枚举看作是存在于CofffeeSize类型的数组中。
5 可以为枚举添加构造函数,实例变量,方法,并且每个枚举都有一个静态方法values(),它以声明枚举时的顺序返回这些值的一个数组。
6 枚举的构造函数可以被重写。(有兴趣可进一步研究,呵呵)
例:
| 1 | public class TestEnum {
 
	CoffeeSize coffsize;
	public static void main(String[] arg){
		TestEnum te1=new TestEnum();
		te1.coffsize=CoffeeSize.BIG;
        System.out.println(te1.coffsize.getOunces());
		
        TestEnum te2=new TestEnum();
		te2.coffsize=CoffeeSize.BIG;
 
		TestEnum te3=new TestEnum();
		te3.coffsize=CoffeeSize.BIG;
		
		CoffeeSize[] values=CoffeeSize.values();
		for(int i=0;i<values.length;i++){
			CoffeeSize cs=values[i];
			System.out.println("name:"+cs.name()+" ounces:"+cs.getOunces());
			
		}
 
	}
 
}
 
 
enum CoffeeSize{
	BIG(8),HUGE(10),OVERWHELMING(16);
    private int ounces;
	CoffeeSize(int ounces){
		this.ounces=ounces;
	}
	public int getOunces(){
		return this.ounces;
	}
};//end enum
 | 
-----------------------------还有几句话要说,哈哈
再说几句:
1 局部变量的生命周期从方法内开始。当方法完成时,局部变量也会被销毁。
2 局部变量总是位于栈上,而不是堆上。
3 不存在栈对象,只有栈变量。
4 合法并不意味值合适 。
5 在声明中包含数组大小永远是不合法的。
6 记住:只有在真正实例化对象时,JVM才会分配空间。因此,实例化是才涉及到数组的大小问题。>
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号