面試題解析:1 Java中switch語句可以作用在enum上的測試


enum是java中的枚舉,其實枚舉是一個常量,枚舉就是定義枚舉類的一個實例。

定義枚舉的時候,應該注意一下幾個問題:

其構造方法應該是private 的,為什么呢?根據我的理解,應為枚舉是個常量,枚舉的意思就是有限的可以列舉的幾個選項,如果其構造方法可以是public的,那么就違背了枚舉的初衷,所以,枚舉的構造方法是private的

另外,枚舉的選項都應該是枚舉的第一行出現

詳見示例:

 

package com.luzhiming.test_6_11; 
/** 
 * @author 魯志明  E-mail: 13688601037@139.com
 * @version 創建時間:2013-6-11 下午10:50:34 
 * 
 */
public enum MyEnum
{
	ZHANGSAN(1,"zhansang"),LISI(2,"lisi"),WANGWU(3,"wangwu");
	private MyEnum(int age , String name)
	{
		this.age = age ; 
		this.name = name;
	}
	private int age;
	private String name;
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}


swith語句能夠作用在byte,short,char上面,因為這些數據類型都可以隱含的轉換為int類型,另外switch還可以作用在枚舉常量上面。

 

示例:

 

package com.luzhiming.test_6_11; 

public class Page9Number5 {
	public static void useEnum(MyEnum enumType)
	{
		switch(enumType)
		{
		case LISI:
			System.out.println("LISI的名字是:"+ enumType.getName());
			return;
			
		case WANGWU:
			System.out.println("WANGWU的名字是:" + MyEnum.WANGWU.getName());
			return;
		default:
			System.out.println("this is default");
			return;
		}
	}
	public static void main(String[] args) {
		
		useEnum(MyEnum.LISI);
		useEnum(MyEnum.WANGWU);
//		運行 default 語句
		useEnum(MyEnum.ZHANGSAN);
	}
	

}



 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM