1,什么是枚举类?
枚举是一种特殊形式的java类
枚举类中声明的每一个枚举值代表美剧尅的一个势力对象 。
枚举类的构造函数必须私有
枚举类也可以实现接口或者继承抽象类
switch语句可以接受枚举类型
若枚举类只有一个枚举值,则可以当做单态设计模式使用
用单态设计模式定义出了一个类
//例如,下面就是单态设计模式,只有一个实例对象
enum A{ //class
A ; //Object
}
2.枚举类怎么实现?
/**
* 一些程序在运行时它需要的数据不能是任意的,
* 而必须是一定范围内的值。
*/
class Grade{
private Grade(){} ;
public static final Grade A = new Grade() ;
public static final Grade B = new Grade() ;
public static final Grade C = new Grade() ;
public static final Grade D = new Grade() ;
public static final Grade E = new Grade() ;
}
我们可以用枚举类代替上面的类
enum Grade{
A,B,C,D,E;
}
3.一个枚举类可以有构造函数,字段和方法
例如,我们在Grade枚举类上扩展
enum Grade{ //class
A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0") ; //Object
private String value ; //封装每一个对象对应的分数
private Grade(String value)
{
this.value = value ;
}
public String getValue()
{
return this.value ;
}
}
然后再测试方法中:
@Test
public void test(){
print(Grade.A) ;
}
public void print(Grade g) //A,B,C,D,E
{
String value = g.getValue() ;
System.out.print(value) ;
}
就可以得到分数值了
4.枚举类中的抽象方法
enum Grade{ // class
A("100-90") {
public String localeValue() {
return "优";
}
},
B("89-80") {
public String localeValue() {
return "良";
}
},
C("79-70") {
public String localeValue() {
return "一般";
}
},
D("69-60") {
public String localeValue() {
return "及格";
}
},
E("59-0") { // Object
public String localeValue() {
return "不及格";
}
};
private String value; // 封装每一个对象对应的分数
private Grade(String value) {
this.value = value;
}
public String getValue() {
return this.value;
}
public abstract String localeValue();//定义抽象方法
}
因为Grade中有抽象方法,所以实例化对象的时候要重写该方法
5.枚举类所含有的方法
因为枚举类是Object的子类,所以有些方法和Object相同
String |
name() 返回此枚举常量的名称,在其枚举声明中对其进行声明。 |
int |
ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 |
static
|
valueOf(Class<T> enumType, String name) 返回带指定名称的指定枚举类型的枚举常量。 |
这三个方法是枚举类的常用方法:
@Test
public void test()
{
System.out.println(Grade.C.name()) ;
System.out.println(Grade.C.ordinal()) ;
String str = "B" ;
Grade f = Grade.valueOf(Grade.class, str) ;
Grade g = Grade.valueOf(str) ;
Grade gs[] = Grade.values() ; //得到所有对象,用一个对象数组保存
for(Grade g1: gs){
System.out.println(g1) ;
}
System.out.println(f) ;
System.out.println(g) ;
}
相关推荐
在Java中,枚举类可以定义一组常量,每个常量可以有自己的方法和属性。如果我们想模仿这个特性,可以在HashMap中存储键值对,键是代表枚举值的字符串或者自定义对象,值是包含方法和属性的对象实例。 2. **动态...
在Java编程中,单例模式是一种常用的创建型设计模式,它保证了类只有一个实例,并提供一个全局访问点。单例模式常用于管理共享资源,如配置文件的读取。...不过,对于简单的配置管理,枚举单例模式已经足够实用。
无论是简单的单层枚举还是复杂的多层枚举,都需要操作系统精确地识别和处理每一个设备,以确保系统的正常运行和用户能够顺利地使用外设。在实际开发中,理解这一过程对于编写驱动程序或应用程序来说至关重要。
2. **成员常量**:枚举类中的成员通常是`public static const`类型的变量,这些变量用来表示不同的枚举值。 3. **类型**:成员常量的类型可以是任何原始类型(如`int`, `String`等)。 下面是一个具体的例子,展示...
### Java枚举详解 在Java编程语言中,枚举(`enum`)是一种特殊的类,用于定义一组固定的常量值。这些常量值通常代表了一组预定义的选项或者...枚举是Java中一个非常实用的功能,合理地利用它可以显著提升代码的质量。
在实际开发中,枚举操作类往往还会有其他实用功能,如枚举的过滤、筛选、分组等。这样的辅助类能够提高代码的复用性,降低枚举操作的复杂度,同时使得枚举的管理和使用更加规范和灵活。 例如,一个简单的`...
首先,C++中的枚举类型分为两种:标准枚举(enum)和枚举类(enum class)。标准枚举默认从0开始自动分配整数值,而枚举类提供更强的类型安全,但不自动分配值,需要手动指定。在处理枚举量的索引问题时,我们通常会...
5. **EnumColors.cs**:这个文件可能是一个源代码文件,包含了使用 C# 编写的与颜色枚举相关的类或方法。它可能包括了枚举颜色并展示它们的示例代码。 6. **EnumColors.exe**:这是一个可执行文件,可能是编译后的...
通过这个简单的示例,我们可以看到枚举类型在C语言中的灵活性和实用性。它不仅可以简化代码,提高可读性,还可以帮助我们有效地处理特定的问题。希望这篇文章能够帮助读者更好地理解和掌握C语言中枚举类型的使用方法...
- 通过抽象枚举类,可以定义一些共有的方法或属性,供子类枚举实例共享。 5. **枚举与工具类的结合**: - 枚举工具类:有时,我们可能会创建一个工具类来处理与枚举相关的通用任务,比如验证枚举值的合法性,或者...
枚举在实际编程中非常实用,特别是在定义一组预定义的状态或选项时,如颜色、星期等,它们提供了类型安全,防止了错误的值被赋给枚举变量。 【泛型】 泛型是C#中一种强大的功能,允许我们创建可重用的类型,这些...
接下来,我们可能会编写一个类来枚举(enumerate)PC上的设备。这通常涉及到Windows API调用,如使用`ManagementObjectSearcher`类从WMI(Windows Management Instrumentation)获取设备信息。以下是一个简单的示例...
1. 构造函数:枚举类无法拥有公共构造函数,这意味着外部代码无法直接创建新的枚举实例,确保了枚举的唯一性。 2. 枚举常量属性:枚举类型的每个实例(枚举常量)都是public、static、final的,这意味着它们可以在...
总之,掌握在ASP.NET中使用C#枚举和管理服务的能力,对于开发者来说是非常实用的技能,尤其是在构建监控、管理系统或者自动化工具时。通过深入学习这个示例,你可以更好地理解如何与Windows服务进行交互,并将其应用...
在易语言中,"枚举文件夹并分层次显示"是常见的文件操作任务,尤其在构建文件管理器或者需要遍历目录结构的场景中非常实用。这个功能允许程序逐个检查指定文件夹下的所有子文件夹和文件,并以树形结构进行展示,方便...
枚举算法是一种基础而实用的计算机算法,广泛应用于解决各种计算问题。它的基本思想是对所有可能的解进行尝试,直到找到正确答案或者确认无解为止。这种算法在处理有限且可枚举的解空间时尤为有效,比如在解决排列...
同时,这也体现了易语言的灵活性和实用性,即使面对复杂的系统级操作,也能通过简单的语法实现。 在实际应用中,枚举进程句柄的功能可能被用于调试、监控或其他需要深入系统层次的应用。例如,安全软件可能会使用...
在小学二年级的奥数课程中,枚举法是一个基础但非常实用的技巧,帮助孩子们通过尝试所有可能的情况来找到正确答案。本节我们将深入探讨枚举法及其在小学奥数中的应用。 首先,我们要理解什么是枚举法。枚举法,...
c#遍历枚举(ENUM)类型的方法,简单实用,适合c#初学者