`
Andyan_java
  • 浏览: 14672 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

枚举初想

阅读更多
JDK1.5出来的东西,提供了一个更好的方式来定义常量.枚举也就是相当于java当中的一个类,一个类型.也可以在里面加入构造子,当必须定义为私有的.也可定义属性,方法如下:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package enumpkg;

/**
 *
 * @author Administrator
 */
public enum Action {
    SHOOT("SHOOT"),RUN("RUN"),TURNLEFT("TURNLEFT"),TURNRIGHT("TURNRIGHT");
    private String description;
    private Action(String description) {
        this.description = description;
    }
    public String toString() {
         return description;
    }
}

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package enumpkg;

/**
 *
 * @author Administrator
 */
public class Do {
    public void doAction(Action action) {
        switch(action) {
            case SHOOT:
                System.out.println("do SHOOT");
                break;
            case RUN:
                System.out.println("do RUN");
                break;
            case TURNLEFT:
                System.out.println("do TURNLEFT");
                break;
            case TURNRIGHT:
                System.out.println("do TURNRIGHT");
                break;
        }
    }
}



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package enumpkg;
/**
 *
 * @author Administrator
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Do dothing = new Do();
        dothing.doAction(Action.SHOOT);
        dothing.doAction(Action.RUN);
        dothing.doAction(Action.TURNLEFT);
        dothing.doAction(Action.TURNRIGHT);
        Action walk=Action.valueOf("SHOOT");
        dothing.doAction(walk);
        Action[] actions =Action.values();
        for(Action a:actions)
            System.out.println(a.toString());
    }
}


分享到:
评论

相关推荐

    java基础反射IO流线程模式

    - **`getDeclaringClass()`**:返回与此枚举常量的枚举类型相对应的`Class`对象。 - **`hashCode()`**:返回枚举常量的哈希码。 - **`name()`**:返回此枚举常量的名称,在其枚举声明中对其进行声明。 - **`ordinal...

    USB.rar_usb

    USB 2.0是USB规范的一个版本,发布于2000年,相较于初代USB 1.1,它在速度上有了显著提升,最高传输速率可达480 Mbps(High-Speed),是USB 1.1的40倍。这使得USB 2.0成为传输大量数据的理想选择,如高清图片、视频...

    C语言中的瑞士军刀:结构体全解析

    C语言是一种广泛使用的计算机编程语言,由丹尼斯·里奇(Dennis Ritchie)在20世纪70年代初于贝尔实验室开发。C语言具有以下特点: 1. **高级语言**:C语言是一种高级编程语言,相对于汇编语言,它更易于编写和理解...

    C语言探秘:变量作用域全解析与实例精讲

    C语言是一种广泛使用的计算机编程语言,由丹尼斯·里奇(Dennis Ritchie)在20世纪70年代初于贝尔实验室开发。C语言具有以下特点: 1. **高级语言**:C语言是一种高级编程语言,相对于汇编语言,它更易于编写和理解...

    Penetration Testing A Hands On Introduction to Hacking.rar

    《渗透测试:实战黑客入门》是一本深受广大IT爱好者,特别是初涉网络安全领域的读者欢迎的书籍。这本书以其实践性强、理论与实际操作相结合的特点,成为了许多美国高校网络安全课程的首选教材。通过本书,读者可以...

    (V4L2) Video for Linux Two API Specification.pdf

    V4L2 API相较于早期的Video for Linux(V4L),在功能上有了较大的增强和改进。V4L2引入了更多的设备抽象和参数设定选项,并且增加了对更多视频标准的支持,如PAL、NTSC和SECAM等。此外,V4L2还支持多种像素格式,并...

    C语言的决策艺术:精通switch语句

    C语言最初由丹尼斯·里奇在20世纪70年代初开发,自那时起便成为了一种广泛使用的编程语言。C语言的一些核心特点包括: - **简洁高效**:C语言的语法简洁,执行效率高,特别适用于系统级软件开发。 - **接近硬件**:...

    个人C语言知识点笔记总结-pdf版

    C语言是一种广泛使用的编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代初设计,初衷是为了开发UNIX操作系统。它的特点是语言简洁、紧凑,运算符丰富,数据类型多样,支持结构化的控制语句,允许直接访问物理...

    des和3des的加密,解密源码

    DES(Data Encryption Standard)是一种经典的对称加密算法,由IBM在1970年代初设计,1977年被美国国家标准局(NIST)采纳为标准。它使用64位的数据块和56位的密钥进行加密,其中8位用于奇偶校验,不参与实际的加密...

    JAVA程序设计100例(PDG)

    12. **枚举和注解**:枚举类型的应用,自定义注解及其处理器。 13. **JNI(Java Native Interface)**:Java与C/C++的交互,实现本地方法。 14. **JDBC**:连接数据库,执行SQL语句,了解预编译语句和结果集的处理。...

    java学习笔记JDK6课件和课本代码

    总的来说,这个压缩包提供了一个全面的Java学习路径,从基础到进阶,理论与实践相结合。无论你是初入编程的新人还是希望深入JDK6的开发者,都能从中受益匪浅。通过系统学习和不断实践,你将能够掌握Java编程的核心...

    大学生入职实习培训教材

    这是一份专为大学生设计的实习入职培训教材,旨在帮助初入职场的学生快速掌握必要的IT技能,包括SQL、JavaScript和C#的基础知识。这些技术是现代软件开发和数据分析领域的核心工具,对于在IT行业开启职业生涯至关...

    Visual Basic 6.0中文版程序员指南

    其强大的功能和直观的界面设计使得它在20世纪90年代末到21世纪初广泛流行。 1. **Visual Basic 6.0概述** - **基本概念**:Visual Basic 6.0是一个事件驱动的编程语言,基于Basic语言,支持图形用户界面和快速应用...

    iOS开发 swift语言入门 学习资料

    通过这些资源,你可以逐步了解并掌握变量与常量、控制流、函数、类与结构体、协议、枚举等基础概念,以及更高级的主题如泛型、闭包和GCD(Grand Central Dispatch)。 在实践项目中,你将学习如何使用UIKit或Swift...

    RetroSwift-源码.rar

    然而,"RetroSwift-源码.rar"这个项目却带我们回到了一个独特的编程时代,它将现代的Swift语言与复古的编程风格相结合,创造出一种别具一格的编程体验。本文将深入探讨RetroSwift项目中的关键知识点,旨在帮助开发者...

    Java发展史之Java由来

    Java,作为一种广泛使用的编程语言,起源于1990年代初的Sun Microsystems公司。由James Gosling博士领导的团队在1991年4月启动了绿色计划,旨在创造一种能在各种消费电子设备上运行的编程架构。这个项目最初的产品被...

    usb 协议中文版 usb协议中文版

    USB 2.0是USB协议的一个重要版本,相较于初代USB 1.1,它在传输速度上有显著提升,理论最高速度可达480Mbps,即60MB/s,极大地提升了数据传输效率。 USB 2.0协议中文版详细解释了USB系统的架构、工作原理以及通信...

    C语言基础教程(修订版)

    C语言是一种广泛使用的高级程序设计语言,其历史可追溯到1970年代初,由美国贝尔实验室的丹尼斯·里奇和肯·汤普逊开发。C语言的设计具有高效、灵活、功能丰富等特点,它对于操作系统和系统软件的开发来说是一种理想...

    谭浩强C语言全书word

    总的来说,《谭浩强C语言全书》是一本全面、易懂的C语言教程,无论你是初入编程殿堂的新手,还是想要巩固基础的开发者,都能从中受益匪浅。通过系统地学习和反复的练习,你将能够熟练掌握C语言,为未来的软件开发之...

Global site tag (gtag.js) - Google Analytics