`

Enumeration 枚举类型

阅读更多

在一些程序运行时,它需要的数据不能是任意的,而必须是一定范围内的值

一个枚举也可以有构造函数、字段和方法

1.枚举类也可以看成是一种特殊形式的java类

2.枚举中声明的每一个枚举值代表枚举类的一个实例对象

3.与java中的普通类一样,在声明枚举类时,也可以声明属性、构造函数、方法,但是枚举类的构造方法必须为私有的

4.枚举类也可以继承接口,或继承抽象类

5.若枚举类只有一个枚举值,可以当做单态设计模式使用。

枚举的定义格式:

          enum 类型名{

          A,B,C;

           }

eg: enum Grade{

A("100-90"),B("89-80"),C("79-70");

.............

.............

}

上面的例子中Grade是枚举类型的名称(相当于定义了一个类的类名),A,B,C是枚举类型的值(相当于是对象)

 

枚举实例一:定义了一个分数级别的一个枚举类型,并根据类型的值打印出分数级别的范围

package cn.enumer;

import org.junit.Test;

public class Enumera {
	enum Grade {
		A("100-90"),B("89-80"),C("79-70"),D("69-60");
		//枚举类型的私有字段
		private String value;
		//枚举类型的构造方法
		private Grade(String value){ 
			this.value=value;
		}
		//枚举类型的方法
		public String getValue(){
			return value;
		}

	}
	@Test
	public void test(){
		print(Grade.C);
	}
	private void print(Grade g){
		String value=g.getValue();
		System.out.println(value);
	}

}

 

枚举实例二:带抽象方法的枚举类型,实现打印出成绩的评价

package cn.enumer;

import org.junit.Test;

public class abstractEnum {
	enum Grade {
		A("100-90"){
			public  String getLacal(){
				return "优";
			}
		},B("89-80"){
			public String getLacal(){
				return "良";
			}
			
		},C("79-70"){
            public String getLacal(){
            	return "一般";
			}
			
		},D("69-60"){
            public String getLacal(){
            	return "差";
			}
			
		};
		private String value;
		private Grade(String value){
			this.value=value;
		}
		public String getValue(){
			return value;
		}
		public abstract String getLacal();
	}
	@Test
	public void Test2(){
		print(Grade.A);
	}
	private void print(Grade g){
		String value=g.getLacal();
		//String value1=g.getValue();
		System.out.println(value);
	}
	

}

 

分享到:
评论

相关推荐

    Java枚举类型编程(enumeration)

    java枚举类型详细讲解,自己撰写的一本电子书,编写得很详细

    讲解C++中的枚举类型以及声明新类型的方法

    C++枚举类型 如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。所谓“枚举”是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。声明枚举类型用enum开头。例如: enum weekday{...

    第10章 结构体和共用体-7枚举类型1

    第10章 结构体和共用体——枚举类型C语言程序设计第10章 结构体和共用体枚举标签枚举数据类型枚举(Enumeration)——一一列举应用场合当某些量仅由有限

    Eclipse3.1中体验J2SE5.0之枚举类型

    本文将介绍J2SE5.0中三个比较重要的...这些特性包括范型(generics)的支持,枚举类型(enumeration)的支持,元数据(metadata)的支持,自动拆箱(unboxing)/装箱(autoboxing),可变个数参数(varargs),静态导入(staticimports),

    JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用

    //实现枚举类型,扑克牌应用 function creatEnum(p){ //构造函数 var Enumeration = function(){throw 'can not Instantiate Enumerations';}; //重写原型并将原型赋值给变量proto var proto = Enumeration....

    第9章-用户自定义数据类型-21

    声明枚举类型(enumeration)使用关键字enum,声明方式同结构体、共用体类似。如:颜色星期定义枚举变量enum ColorRGB clr;枚举类型枚举

    详细了解C# 枚举与位枚举

     C# 枚举(Enum), 枚举类型是用于声明一组命名的常数的基本数据类型(值类型); 二、枚举的定义:  声明enum变量: enum <enum> {enumeration list};  其中enum_name 指定枚举的类型名称; enumeration list ...

    c#入门教程(菜鸟级)

    枚举类型(Enumeration types) 简单类型:(单纯变量,c#为我们提供了一组已经定义的简单类型) 整数类型:(区分数学的整数范围和计算机的整数范围) C#有九种整数类型: 数据类型 特征 sbyte 有符号8位整数 Byte 无...

    classstudy7.rar_union

    此外,用户可以自己声明的类型还有结构体(structure)类型、共用体(union)类型、枚举(enumeration)类型、类(class)类型等,这些统称为用户自定义类型... 本章介绍结构体类型、共用体类型和枚举类型,第8章将介绍类类型。

    三分钟快速掌握Java中枚举(enum)

    enum的全称为enumeration, 是 JDK 1.5中引入的新特性,存放在 java.lang包中。下面这篇文章是我在使用enum过程中的一些经验和总结,分享出来方便大家快速的掌握Java中枚举(enum),有需要的朋友们下面跟着小编来一起...

    C#中枚举的特性 FlagAttribute详解

    Flag 特性微软的解释是:指示可以将枚举作为位域(即一组标志)处理,FlagsAttribute属性就是枚举类型的一项可选属性,它的主要作用是可以将枚举作为位域处理(P.S. C#不支持位域)。所谓位域是单个存储单元内相邻二...

    枚举:PHP的枚举实现

    就软件开发而言,枚举(或“枚举类型”)本质上是一组固定的值。 这些值称为“成员”或“元素”。 在希望允许一个参数仅是一组特定值中的一个且其他任何内容均被视为无效的情况下,使用枚举。 一个基本的例子 枚举...

    laravel-enum:Laravel的简单,可扩展且强大的枚举实现

    类型提示 属性转换 枚举工匠生成器 将枚举键或值作为输入参数传递的验证规则 本地化支持 可通过宏扩展 由( 创建 跳到 较旧版本的文档 您正在阅读3.x的文档。 如果您使用的是Laravel 7或更低版本,请参阅的。 如果...

    Java基础面试题.doc

    除了基本类型(primitive type)和枚举类型(enumeration type),剩下的都是引用类型(reference type)。 2、float f=3.4;是否正确? 答:不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下...

    EZEA:EZEA(EaZy枚举自动化器),是为OSCP制作的。 该工具使用bash自动化大多数枚举过程

    简要说明该工具称为EZEA(EaZy枚举自动器),是为OSCP设计的。 该工具使用bash,tilix和tmux来自动执行大多数枚举过程。 该工具使用了一些已经很出色的枚举自动化器和一些我自己的命令。 将它们捆绑在一个工具箱中,...

    Java enum(枚举)的使用

    在实际编程中,往往存在着这样的...枚举类型的用途不仅如此,具体可用场景可看下面的介绍  1、常量  以前我们定义一个常量通常都是使用 public static final …… 定义的,如下面:  public static final CON

    enum-php:PHP的枚举实现

    在方法和类之间传递枚举值时,允许类型提示。用法首先创建一个扩展\Rexlabs\Enum\Enum的新类,然后执行以下操作; 声明你的常数可选:提供map()方法:例子<?phpnamespace Rexlabs \ Enum \ Readme ;use Rexlabs ...

    枚举:具有详尽的模式匹配警告和有用集成的Scala类型安全,无反射,功能强大的枚举实现

    它旨在与Scala内置的Enumeration足够相似,以易于使用和理解,同时提供更多的灵活性,类型安全性(请参阅)以及更丰富的枚举值,而无需维护您自己的值的集合。 枚举具有以下优点: 零依赖 性能:比标准库中的...

    java IO章节的总结

    SequenceInputStream(Enumeration e)枚举类型e中包含了若干个要被串联的输入流 SequenceInputStream(InputStream s1, InputStream s2)先读取s1中数据。再读s2的数据。 以上能够直接对数据进行读和写的流叫节点流...

Global site tag (gtag.js) - Google Analytics