国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

枚舉

2019-11-08 19:36:21
字體:
供稿:網(wǎng)友

關(guān)鍵字:enum。枚舉就是要讓某個類型的變量的取值只能為若干固定值之中的一個。它是一個特殊的類,其中的每一個元素都是該類的一個對象。注意 : 因為不能New 枚舉的實(shí)

力,所以枚舉不能繼承其他類,也不能被其他類繼承。

為什么要有枚舉?

問題:要定義星期幾或性別的變量,該怎么定義?假設(shè)用1-7分別表示星期一到星期日,但有人可能會寫成int weekday = 0;或即使使用常量方式也無法阻止意外。枚舉就是要讓某個

類型的變量的取值只能為若干個固定值中的一個,否則,編譯器就會報錯。枚舉可以讓編譯器在編譯時就可以控制源程序中填寫的非法值,普通變量的方式在開發(fā)階段無法實(shí)現(xiàn)這

一目標(biāo)。

用普通類如何實(shí)現(xiàn)枚舉功能,定義一個Weekday的類來模擬枚舉功能。

1、私有的構(gòu)造方法;

2、每個元素分別用一個公有的靜態(tài)成員變量表示。 可以有若干公有方法或抽象方法。采用抽象方法定義nextDay就將大量的if.else語句轉(zhuǎn)移成了一個個獨(dú)立的類。

enum TrafficLamp{	/**	 * 對于這道題目而言,使用的其實(shí)是匿名對象內(nèi)部類!	 * 枚舉最簡單的創(chuàng)建對象方法:RED,YELLOW,GREEN	 * 對于普通的類而言,創(chuàng)建對象:Person p = new Person();	 * 	 */	RED(30){		@Override		public TrafficLamp nextLamp() {			return YELLOW;		}			},		YELLOW(40){		@Override		public TrafficLamp nextLamp() {			return GREEN;		}			},		GREEN(45){		@Override		public TrafficLamp nextLamp() {			return RED;		}			};	public abstract TrafficLamp nextLamp();	PRivate int time;	private TrafficLamp(int time){		this.time = time;	}	public int getTime() {		return time;	}	public void setTime(int time) {		this.time = time;	}	}
public class EnumDemo {	public static void main(String[] args) {		System.out.println(TrafficLamp.RED.nextLamp());		System.out.println(TrafficLamp.RED.nextLamp().getTime());			}}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 吉林省| 泸水县| 临桂县| 华安县| 禹城市| 太仆寺旗| 兴义市| 桂平市| 鲁甸县| SHOW| 鹰潭市| 望江县| 临邑县| 浮山县| 景谷| 前郭尔| 青川县| 通州市| 龙里县| 绍兴市| 诏安县| 宾阳县| 三穗县| 新疆| 河池市| 时尚| 绥棱县| 大庆市| 东阳市| 乌拉特中旗| 襄樊市| 蒙阴县| 邢台市| 鞍山市| 景东| 苏尼特左旗| 大洼县| 安义县| 宁乡县| 拉孜县| 四会市|