12.java-枚举

枚举

枚举是一种特殊的类

枚举类的格式
修饰符 enum 枚举类名{
	名称1,名称2,...;
	其他成员...
}
注意: 定义枚举类要用关键字 enum
枚举类的特点
  • 枚举类中的第一行,只能写一些合法的标识符(名称),多个名称用逗号隔开。(第一行必须罗列的是枚举对象的名字)这些名称,本质是常量,每个常量都会记住枚举的一个对象

  • 枚举的构造器都是私有的,所以枚举类对外不能创建对象

  • 枚举类都是最终类,不可以被继承

  • 从第二行开始,可以定义其他各种成员

  • 编译器为枚举类新增了几个方法,枚举类都是继承:java.lang.Enum类的,从enum类也会继承一些方法

  • 枚举类也可以有抽象方法,但是枚举项必须重写该方法

A[] as = A.values();//拿到全部对象
A a3 = A.calueOf();//根据常量名得到枚举对象
a3.name();//拿枚举对象的名字
a3.ordinal();//拿枚举对象的索引
抽象枚举
public enum B {
	X(){
		@Override
		public void do(){
		
		}
	}, Y(){
		@Override
		public void do(){
		
		}
	};
	public abstract void go();
}
使用枚举实现单例设计模式
public enum A {
	X;//单例
}
枚举常见应用场景
  • 用来表示一组信息,然后作为参数传输(做信息的分类和标志)

枚举 : 可以理解是一种多例设计模式

单例设计模式: 保证类的对象, 在内存中只有一份
枚举 : 保证类的对象, 在内存中, 只有固定的几个

你可能感兴趣的:(java,开发语言)