亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JAVASE之JAVA枚舉篇

標簽:
Java 面試


一  概述

JDK5.0之前需要自定义枚举类,而JDK5.0新增的enum关键字用于定于枚举类,若枚举只有一个成员,则可以作为一种单例模式的实现方式

枚举类对象的属性不应允许被改动,所以应该使用private final修饰,应该在构造器为其赋值,若枚举类显式的定义了带参数的个构造器,则在列出枚举类时,也必须对应的传入参数。

二  Enum枚举类

必须在枚举类的第一行声明枚举类对象。

枚举类和普通类的区别:

   1.使用enum定义的枚举类默认继承了java.lang.Enum类

   2.枚举类的构造器只能使用private访问控制符

   3.枚举类的所有实例必须在枚举类中显式列出(,分隔;结尾),列出的实例系统会自动添加 public static final 修饰

JDK5.0中可以在switch表达式中使用Enum定义的枚举类的对象作为表达式,case子句可以直接使用枚举值的名字,无需添加枚举类作为限定。

三  测试

SeasonEnum.java

package com.lxj.Enum;

public enum SeasonEnum {
     
	SPRING("春天","3-5月"),
	SUMMER("夏天","3-5月"),
	ANTUMN("秋天","3-5月"),
	WINTER("冬天","3-5月");
	
	private final String seasonName;
	private final String seasonTime;
	
	private  SeasonEnum(String seasonName,String seasonTime) {
		this.seasonName = seasonName;
		this.seasonTime = seasonTime;
	}

	public String getSeasonName() {
		return seasonName;
	}

	public String getSeasonTime() {
		return seasonTime;
	}
	  
}

TestEnum.java

package com.lxj.Enum;

public class TestEnum {
    public static void main(String[] args) {
		SeasonEnum spring = SeasonEnum.SPRING;
		System.out.println(spring.getSeasonName());
		System.out.println(spring.getSeasonTime());
		
		System.out.print(SeasonEnum.SPRING.name() + "  ");
		System.out.println(SeasonEnum.SPRING.ordinal());
		
		System.out.print(SeasonEnum.SUMMER.name()+ "  ");
		System.out.println(SeasonEnum.SUMMER.ordinal());
		
		System.out.print(SeasonEnum.ANTUMN.name()+ "  ");
		System.out.println(SeasonEnum.ANTUMN.ordinal());
		
		System.out.print(SeasonEnum.WINTER.name()+ "  ");
		System.out.println(SeasonEnum.WINTER.ordinal());
		
		System.out.println("遍历");
		SeasonEnum[] seasonEnums = SeasonEnum.values();
		for (SeasonEnum seasonEnum : seasonEnums) {
			System.out.println(seasonEnum);
		}
		SeasonEnum enum1 = SeasonEnum.valueOf("SPRING");
		System.out.println(enum1);
		
	}
}

运行结果:

春天
3-5月
SPRING  0
SUMMER  1
ANTUMN  2
WINTER  3
遍历
SPRING
SUMMER
ANTUMN
WINTER
SPRING

测试方法:

	SPRING("春天","3-5月"){
		public void show() {
			System.out.println("春天```````````````````````````");
		}
	},
	SUMMER("夏天","3-5月"){
		public void show() {
			System.out.println("夏天```````````````````````````");
		}
	},
	ANTUMN("秋天","3-5月"){
		public void show() {
			System.out.println("秋天```````````````````````````");
		}
	},
	WINTER("冬天","3-5月"){
		public void show() {
			System.out.println("冬天```````````````````````````");
		}
	};
	public void show() {
		
	}

		SeasonEnum.SPRING.show();
		SeasonEnum.SUMMER.show();
		SeasonEnum.ANTUMN.show();
		SeasonEnum.WINTER.show();

运行结果:
春天```````````````````````````
夏天```````````````````````````
秋天```````````````````````````
冬天```````````````````````````



點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
7794
獲贊與收藏
665

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消