枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。下面就是一个典型枚举类型的定义:
public enum Color{
RED,BLUE,BLACK,YELLOW,GREEN
}
显然,enum很像特殊的class,实际上enum声明定义的类型就是一个类,而且是类库中Enum类的子类(java.lang.Enum<E>)。
1、Color枚举类是特殊的class,其枚举值(RED,BLUE...)是Color的类对象(类实例):Color c=Color.RED;而且这些枚举值都是public static final的,也就是我们经常所定义的常量方式,因此枚举类中的枚举值最好全部大写。
2、即然枚举类是class,当然在枚举类型中有构造器,方法和数据域。但是,枚举类的构造器有很大的不同:
(1) 构造器只是在构造枚举值的时候被调用。
(2) 构造器只能私有private,绝对不允许有public构造器。这样可以保证外部代码无法新构造枚举类的实例。这也是完全符合情理的,因为我们知道枚举值是public static final的常量而已。 但枚举类的方法和数据域可以允许外部访问。
下面是我自己写的例子:
public class Test{
public static void main(String[] args) throws Exception
{
Test.outputWeekDay(WeekDay.Monday);
}
public static void outputWeekDay(WeekDay w)
{
System.out.println(w);
}
}
enum WeekDay
{
Monday(1),Tuesday(2),Wednesday(3);
private int weekValue;
private WeekDay(int weekValue)
{
this.weekValue = weekValue;
}
@Override
public String toString()
{
// TODO Auto-generated method stub
return String.valueOf(this.weekValue);
}
}
分享到:
相关推荐
### Java编程基础知识点详解 #### 一、Java技术概述 ...通过以上知识点的详细介绍,我们不仅了解了Java语言的基本概念和发展历程,还掌握了Java语言的关键特性和开发流程,为深入学习Java编程奠定了坚实的基础。
5. **类与对象的高级特性**:包括内部类、匿名类、反射机制、动态代理、枚举类型以及注解。 6. **输入/输出流**:讲解Java I/O系统,包括字节流、字符流、对象序列化,以及文件操作和缓冲流的使用。 7. **多线程...
- 枚举提供了类型安全,并且可以方便地与其他类型交互。 8. 异常处理: - Java中的异常是程序运行时发生的错误,通过try-catch-finally语句块进行处理。 - 异常类层次结构使得可以捕获特定类型的异常并进行相应...
10. **枚举与注解**:学习 Java 中的枚举类型,以及注解(Annotation)的使用,如何自定义注解并进行元编程。 11. **Java 核心类库**:熟悉 Java 核心类库,如 Collections、Math、Date 和 Calendar 等,提高日常...
《java jdk 7学习笔记》适合java的初中级读者,以及广大java应用开发人员。 作译者 林信良(网名:良葛格) 学历:台湾大学电机工程学系 经历:台湾升阳教育训练技术顾问、专业讲师,oracle授权训练中心讲师 ...
- `enum`: 定义枚举类型。 - `extends`: 表示继承关系。 - `abstract`: 定义抽象类或抽象方法。 **3. Java 数据类型** - **基本数据类型**: - `boolean`: 布尔型。 - `char`: 字符型。 - `byte`: 8位整型。 ...
- **枚举**:Java枚举类型提供了一种声明一组固定常量的方法。 - **注解**:注解是一种元数据,用于向代码中添加额外的信息,这些信息可以被编译器或运行时环境利用。 - **反射**:Java反射API允许在运行时获取类...
- **数组和枚举**:数组是Java中用于存储固定大小的同类型元素的数据结构,而枚举类型则是一种特殊的类,用于定义一组有限的值。 - **常见类的使用**:Java的标准库提供了大量的预定义类,如String类、集合框架...
11. **枚举与注解**:掌握Java枚举类型的应用,以及注解(Annotation)的使用和自定义。 12. **反射机制**:学习如何在运行时动态获取类的信息,创建对象,以及调用方法。 13. **泛型**:理解泛型的概念,如何在类...
C#的switch语句相比Java有更强的表达能力,它可以处理枚举类型和字符串,而Java仅限于整数类型和枚举类型(自JDK 7起)。 除此之外,C#还有其他特性,如自动属性(Auto-Implemented Properties)、匿名方法与...
15. **枚举与注解**:枚举类型提供了更安全的常量表示,注解则为代码添加元信息。复习题可能涉及它们的定义和应用。 以上就是Java语言程序设计第八版复习题可能覆盖的知识点,通过理解和掌握这些内容,开发者可以...
9. **枚举与注解**:了解枚举类型的应用场景,以及注解在元编程中的作用。 10. **JNI(Java Native Interface)**:学习如何使用JNI与C/C++代码交互,实现Java与其他语言的混合编程。 三、Java EE核心篇 11. **...
11. **枚举与注解**:掌握枚举类型和注解的使用,了解它们在实际开发中的应用。 12. **集合框架高级**:深入理解List、Set、Map接口及其实现类的特性,如TreeMap、LinkedHashMap等。 13. **IO/NIO/BIO**:对比理解...
在集合框架方面,JDK6.0对Set、List、Map等接口以及其实现类进行了进一步完善,例如,EnumSet和EnumMap的加入,使得枚举类型的使用更加便捷高效。此外,泛型的引入是JDK6.0的一大亮点,它提高了代码的类型安全性和...
流程控制是编程中的重要部分,Java提供了多种控制结构,如switch-case语句,其条件表达式和case后的值应保持数据类型一致,通常适用于byte、short、int、char和枚举类型。另外,还有for、while和do-while循环,分别...
其次,进阶篇:Java的反射机制、枚举类型、注解、JNI(Java Native Interface)等是面试中常见的深度问题。反射机制允许程序在运行时动态获取类的信息并调用其方法,枚举提供了一种安全的常量定义方式,注解则为代码...
《Java葵花宝典2017版》是针对Java面试者的一份全面指南,尤其适合初入职场、在校大学生以及准备转行到Java领域的学习者。这份宝典涵盖了Java的基础知识、进阶技巧和常见面试题,旨在帮助读者巩固Java编程技能,提升...
本资源“java_shujujiegou_suanfa.rar_Java数据结构”旨在为初中级Java程序员提供一个易懂的学习平台,帮助他们提升编程技能。 在数据结构方面,主要涉及以下知识点: 1. 数组:数组是最基本的数据结构,它存储...
总的来说,《Java开发技术大全》是一本全面而实用的Java学习资料,无论你是初入编程殿堂的新手,还是希望巩固提升的开发者,都能从中受益。通过阅读本书并结合实践,你将具备扎实的Java基础,为在IT行业中发展奠定...
12. **枚举和注解**:枚举类型的应用,自定义注解及其处理器。 13. **JNI(Java Native Interface)**:Java与C/C++的交互,实现本地方法。 14. **JDBC**:连接数据库,执行SQL语句,了解预编译语句和结果集的处理。...