菜鸟笔记
提升您的技术认知

java枚举类的定义和使用-ag真人游戏

枚举类的对象是有限个

对象个数   一个可以看做单例模式的实现        多个  为枚举类

1 如何定义    

cccccccc

 1 私有化类的构造器。

 2 成员变量如果声明为final。要在构造器中初始化,不允许被修改、

3 通过公共方法 调用属性。 

4 创建枚举类的对象

单例模式中 ,通过公共方法调用。  也可以通过类来调用。

要用final修饰!!!! 声明为  public static final

使用enum关键字来定义枚举类

1 定义时必须先声明 (把final关键字放在最上面);

用枚举声明之后  图中蓝色部分可以省略   被改之后原来用;分割  应该为逗号,   最后一个用;  即可

常用方法:https://blog.csdn.net/kdc18333608478/article/details/72845587

可以让不同的枚举类对象调用被抽象的抽象方法,执行的效果不同。(相当于每一个对象重写抽象方法)

代码

package 面向对象;
public class testseason {
	public static void main(string[] args) {
		season spring=season.spring;
		system.out.println(spring);
		spring.show();
		system.out.println(spring.getseasonname());
		system.out.println();
		
//		方法一
//		season[] seasons =season.values();
//		for (int i = 0; i < seasons.length; i  ) {
//			system.out.println(seasons[i]);
//		}
//		方法2  要求传入的形参是枚举类对象的名字
		string str = "spring";
		season sea = season.valueof(str);
		system.out.println(sea);
		system.out.println();
		
		
		
	}
	
	interface info
	{
		void show();
	}
enum season implements info
{
	spring ("spring", "chunnuanhuakai")
	{
		
		public void show() {
			system.out.println("i love you");
			
		}
		
	},
	summer("summer","re")
	{
		public void show(){
			system.out.println("sorry");
		}
	};
	public final string seasonname;
	public final string seasondesc;
	private season(string seasonname,string seasondesc)
	{
		this.seasondesc=seasonname;
		this.seasonname=seasonname;
		
	}
	public string getseasonname()
	{
		return seasonname;
	}
	public string tostring()
	{
		return "season[ name=" seasonname ", seasondesc=" seasondesc "]";
		
	}
}
}

 

方法一结果 

 方法二结果 

网站地图