JavaSE-枚举类

package com.btp.t4;
/*
 * 一.枚举类
 * 1.如何自定义枚举类
 * 2.如何使用enum关键字定义枚举类
 *     >常用的方法:values(),valueOf(String name)
 *     >如何让枚举类实现接口:让不同的枚举类对象调用被重写的抽象方法,执行的效果不同。(相当于让每个对象重写抽象方法)
 */
public class TestSeason {

	public static void main(String[] args){
		Season spring=Season.SPRING;
		System.out.println(spring);
		spring.show();
		System.out.println(spring.getSeasonDesc());

		//1.values()
		Season1[] season=Season1.values();
		for(Object obj:season)
		{
			System.out.println(obj);
		}
		System.out.println();
		//2.valueOf(String name):要求传入的形参是枚举类对象的名字,否则报异常
		String str="SPRING";
		Season1 sea=Season1.valueOf(str);
		System.out.println(sea);
		System.out.println();

		sea.show();

		System.out.println();
		//Thread类的内部类State是一个枚举类
		Thread.State[] states=Thread.State.values();
		for(Object obj:states)
		{
			System.out.println(obj);
		}

	}
}

//自定义枚举类:如果只有一个对象,则是单例模式
class Season{
	//1.提供类的属性,声明为private final
	private final String seasonName;
	private final String seasonDesc;
	//2.声明为final的属性,在私有化构造器中初始化
	private Season(String seasonName,String seasonDesc){
		this.seasonName=seasonName;
		this.seasonDesc=seasonDesc;
	}
	//3.通过公共方法调用
	public String getSeasonName() {
		return seasonName;
	}
	public String getSeasonDesc() {
		return seasonDesc;
	}
	//4.创建枚举类的对象:将类的对象声明为public static final
	public static final Season SPRING=new Season("spring","春暖花开");
	public static final Season SUMMER=new Season("summer","夏日炎炎");
	public static final Season AUTUMN=new Season("autumn","秋高气爽");
	public static final Season WINTER=new Season("winter","白雪皑皑");

	@Override
	public String toString() {
		return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]";
	}
	public void show(){
		System.out.println("这是一个"+this.getSeasonName()+"季节!");
	}
}

//接口info
interface info{
	void show();
}

//用enum关键字定义枚举类
enum Season1 implements info{
	//成员要写在最前面
	//让不同的枚举类对象调用被重写的抽象方法,执行的效果不同。(相当于让每个对象重写抽象方法)
	SPRING("spring","春暖花开"){
		public void show(){
			System.out.println("春天在哪里?");
		}
	},
	SUMMER("summer","夏日炎炎"){
		public void show(){
			System.out.println("生如夏花");
		}
	},
	AUTUMN("autumn","秋高气爽"){
		public void show(){
			System.out.println("秋天是分手的季节");
		}
	},
	WINTER("winter","白雪皑皑"){
		public void show(){
			System.out.println("冬天里的一把火火");
		}
	};
	private final String seasonName;
	private final String seasonDesc;
	private Season1(String seasonName,String seasonDesc){
		this.seasonName=seasonName;
		this.seasonDesc=seasonDesc;
	}
	@Override
	public String toString() {
		return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]";
	}

//	public void show() {
//		// TODO 自动生成的方法存根
//		System.out.println("这是一个季节!");
//	}

}

  

时间: 2024-10-12 06:44:37

JavaSE-枚举类的相关文章

Java基础15:深入剖析Java枚举类

Java基础15:深入剖析Java枚举类 枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示. 初探枚举类 在程序设计中,有时会用到由若干个有限数据元素组成的集合,如一周内的星期一到星期日七个数据元素组成的集合,由三种颜色红.黄.绿组成的集合,一个工作班组内十个职工组成的集合等等,程序中某个变量取值仅限于集合中的元素.此时,可将这些数据集合定义为枚举类型. 因此,枚举类型是某类数据可能取值的集合,如一周内星期可能取值的

JavaSE复习_6 枚举类

△单例类是指只有一个实例,而枚举类实际上就是有有限个实例的类,在类里已经把实例定义好了. △枚举类的三种创建形式: 1) enum Week { MON,TUE,WED;//枚举类有默认构造函数创建的三个实例} } 2) enum Week { MON("星期一"), TUE( "星期二"),WED ("星期三" ); //具有参数的构造函数 private String name; Week(String name) { this. name=

zend framework获取数据库中枚举类enum的数据并将其转换成数组

在model中建立这样的模型,在其中写入获取枚举类的方法 class Student extends Zend_Db_Table{ protected $_name ='student'; protected $_primary ='id'; function getPartyEnum($enumname){ //适配器并获取数据 $db = $this->getAdapter(); $db->query("SET NAMES GBK"); $sql = $db->q

枚举类

enum SeasonEnum //这是一个枚举类,有四个枚举值 { SPRING,SUMMER,FALL,WINTER; } public class EnumTest { public void judge(SeasonEnum s) { switch(s) { case SPRING: System.out.println("春天"); break; case SUMMER: System.out.println("夏天"); break; case FALL

包含抽象方法的枚举类

public enum Operation { PLUS,MINUS,TIMES,DIVIDE;//每一个枚举值都是一个实例 double eval(double x,double y)//我们定义一个方法,实现不同的操作 { switch(this) { case PLUS: return x + y; case MINUS: return x - y; case TIMES: return x * y; case DIVIDE: return x % y; default: return 0

python,使用枚举类,面向对象高级编程

python #针对常量 #枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例. from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) #这样我们就获得了Month类型的枚举类 for name, member in Month.__members__.items():

java 枚举类 enum 总结

枚举定义: enum是计算机编程语言中的一种数据类型.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量说明为整型, 字符型或其它类型显然是不妥当的.为此,C语言提供了一种称为“枚举”的类型.在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变 量取值不能超过定义的范围.应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型. java中枚举类总

枚举类专题(有源代码)

简介:JDK1.5之前需要自定义枚举类,JDK1.5新增的enum关键字用于定义枚举类,若枚举只有一个成员,则可以作为一种单例模式的实现方式 枚举类的属性:枚举类对象的属性不应允许被改动,所以应该使用private final修饰 ·枚举类的使用private final修饰的属性应该在构造器中为其赋值 ·若枚举类显式的定义了带参数的构造器,则在列出枚举值时也必须对应的传入参数 Enum枚举类: ·必须在枚举类的第一行声明枚举类对象. ·枚举类和普通类的区别: 1.使用enum定义的枚举类默认继

JAVA学习--枚举类的使用

* 一.枚举类  * 1.如何自定义枚举类  * 2.如何使用enum关键字定义枚举类  *     >常用的方法:values() valueOf(String name)  *     >如何让枚举类实现接口:可以让不同的枚举类的对象调用被重写的抽象方法,执行的效果不同.(相当于让每个对象重写抽象方法) 1 //普通枚举类 2 class Season{ 3 //1.提供类的属性,声明为private final 4 private final String seasonName; 5 p

C# DropDownList 绑定枚举类

第一种 DropDownList_Franchiser_Type.DataSource = ListTypeForEnum(); DropDownList_Franchiser_Type.DataValueField = "value"; DropDownList_Franchiser_Type.DataTextField = "text"; DropDownList_Franchiser_Type.DataBind() //转换枚举类 public static