enum枚举类
枚举类可用于定义常量
ch01
package edu.nf.demo.ch01; /**
*
* 枚举类型
*/
public enum Color { /**
* 红色
*/
RED,
/**
* 黄色
*/
YELLOW,
/**
* 蓝色
*/
BLUE,
/**
* 绿色
*/
GREEN,
/**
* 黑色
*/
BLACK }
Color
ch01
public class Main {
public static void main(String[] args) {
//test1();
test2(Color.RED);
//test3(Color.RED);
}
private static void test1(){
//Color.RED得到的是一个Color枚举元素的实例
System.out.println("枚举实例:"+Color.RED);
System.out.println("枚举元素名称:"+Color.RED.name());
System.out.println("枚举元素下标:"+Color.BLUE.ordinal());
System.out.println(Color.BLUE);
System.out.println(Color.BLUE.name());
System.out.println(Color.BLUE.ordinal());
System.out.println("---------------");
for (Color value : Color.values()) {
System.out.println(value);
}
}
private static void test2(Color color){
System.out.println(color);
switch (color) {
case RED:
System.out.println("This is red color");
break;
case BLUE:
System.out.println("This is blue color");
break;
default:
System.out.println("no color");
}
}
private static void test3(Color color){
System.out.println(color);
if(color.equals(Color.RED)){
System.out.println("This is red color");
}else if(color.equals(Color.BLUE)){
System.out.println("This is blue color");
}else{
System.out.println("no color");
}
}
}
main
public enum Color {
/**
* 红色
*/
RED(0),
/**
* 黄色
*/
YELLOW(1),
/**
* 蓝色
*/
BLUE(2),
/**
* 绿色
*/
GREEN(3),
/**
* 黑色
*/
BLACK(4)
; //分隔符
//声明一个实例变量
private Integer color;
//构造方法
Color(Integer color){
this.color = color;
}
//提供一个get方法用于获取color变量的值
public Integer getColor() {
return color;
}
}
Color(枚举自定义构造函数以及添加方法)
ch02
public class Main {
public static void main(String[] args) {
System.out.println(Color.YELLOW.name());
System.out.println(Color.YELLOW.getColor());
}
}
main
ch03
public enum Color {
/**
* 红色
*/
RED{
@Override
public void printColor() {
System.out.println("This is red.");
}
},
/**
* 蓝色
*/
BLUE{
@Override
public void printColor() {
System.out.println("This is blue");
}
};
/**
* 在枚举中声明一个抽象方法,
* 并且在每一个枚举元素中是使用匿名内部类的方式进行实现
*/
public abstract void printColor();
}
Color枚举中定义抽象方法,类似于继承重载里面的方法
ch03
public class Main {
public static void main(String[] args) {
Color.RED.printColor();
}
}
main
ch04
public enum Color implements PrintInf {
/**
* 红色
*/
RED{
@Override
public void printColor() {
System.out.println("This is red.");
}
},
/**
* 蓝色
*/
BLUE{
@Override
public void printColor() {
System.out.println("This is blue.");
}
}
}
public enum Color2 implements PrintInf {
/**
* 红色
*/
RED("red"),
/**
* 蓝色
*/
BLUE("blue")
;
private String color;
Color2(String color){
this.color = color;
}
@Override
public void printColor() {
System.out.println("Print color: " + color);
}
}
Color继承接口
ch04
public interface PrintInf {
void printColor();
}
public class Main {
public static void main(String[] args) {
PrintInf pf = Color.RED;
pf.printColor();
Color2.RED.printColor();
}
}
接口和main
ch05
public interface Food {
/**
* 开胃菜
*/
enum Appetizer implements Food {
/**
* 沙拉
*/
SALAD("沙拉"),
/**
* 汤
*/
SOUP("汤")
;
private String foodName;
Appetizer(String foodName){
this.foodName = foodName;
}
public String getFoodName() {
return foodName;
}
}
/**
* 主食
*/
enum MainCourse implements Food {
/**
* 千层面
*/
LASAGNE("千层面"),
/**
* 卷饼
*/
BURRITO("卷饼")
;
private String foodName;
MainCourse(String foodName){
this.foodName = foodName;
}
public String getFoodName() {
return foodName;
}
}
}
public class Main {
public static void main(String[] args) {
System.out.println(Food.Appetizer.SALAD.getFoodName());
}
}
Color在接口中声明枚举类型
enum枚举类的更多相关文章
- Enum枚举类|注解Annotation
Enum枚举类 ①枚举类和普通类的差别: 使用 enum 定义的枚举类默认继承了 java.lang.Enum 类 枚举类的构造器仅仅能使用 private 訪问控制符 枚举类的全部实例必须在枚举类中 ...
- Java中的enum枚举类
首先说说为什么要写这个enum枚举类吧,是群里有个新手问:怎样把enum类中的值遍历得到,其实自己用的也很少.自己也是确实不知道,于是我去网上搜了不少,总结了些,希望对大家有帮助:首先我说说怎样遍历枚 ...
- Enum 枚举类
目录 Enum 枚举类 基础 定义与用途 基本方法 示例 进阶 实现原理 枚举与Class对象 自定义枚举类和构造方法及toString() Enum中使用抽象方法来实现枚举实例的多态性 Enum与接 ...
- Java 基础 enum枚举类 的创建/使用/接口继承 ,以及手动创建枚举类的对象为:public static final
笔记: import java.lang.*; /**一:枚举类 : enum Season implements info { s1(),s2(),s3(),s4() }; //s1--s4 放在S ...
- Java Enum 枚举类的values方法
Enum类和enum关键字定义的类型都有values方法,但是点进去会发现找不到这个方法.这是因为java编译器在编译这个类(enum关键字定义的类默认继承java.lang.Enum)的时候 自动插 ...
- Enum枚举类使用集合
1.使用扩展方法使用枚举值对于的Description属性值 public static class EnumExtenstion { public static string GetDescript ...
- java enum 枚举类
图一代码: public enum LogMethodEnum { WEBCSCARDVALID("返回值"), WEBCSVERIFYPASSWORD("返回值&quo ...
- java 枚举 类 enum
public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializab ...
- Java分享笔记:自定义枚举类 & 使用enum关键字定义枚举类
在JDK1.5之前没有enum关键字,如果想使用枚举类,程序员需要根据Java语言的规则自行设计.从JDK1.5开始,Java语言添加了enum关键字,可以通过该关键字方便地定义枚举类.这种枚举类有自 ...
随机推荐
- Rsync + Lsyncd服务实现文件实时同步/备份
1.接受端安装rsync yum -y install rsync 2.配置同步模块 vim /etc/rsyncd.conf # any name you like [backup] # desti ...
- IDE 设备(磁盘/CD-ROM)配置不正确。“ide1:1”上具有一个 IDE 从设备,但没有主设备。此配置在虚拟机中无法正常运行。请使用配置编辑器将磁盘/CD-ROM 从“ide1:1”移到“ide1:0”。
开启vmware报这个错: IDE 设备(磁盘/CD-ROM)配置不正确.“ide1:1”上具有一个 IDE 从设备,但没有主设备.此配置在虚拟机中无法正常运行.请使用配置编辑器将磁盘/CD-ROM ...
- 《DOM Scripting》学习笔记-——第九章 CSS-DOM
本章内容: 一.style属性 二.如何检索样式信息 三.如何改变样式 属性: 包含位置信息:parentNode , nextSibling , previousSibling , childNod ...
- 富文本编辑器 CKeditor 配置使用 (带附件)
Ckeditor下载地址:http://ckeditor.com/download 1.CKeditor的基本配置 var textval=CKEDITOR.instances.TextArea1.g ...
- Java 定时任务的几种实现方式
JAVA实现定时任务的几种方式 @(JAVA)[spring|quartz|定时器] 近期项目开发中需要动态的添加定时任务,比如在某个活动结束时,自动生成获奖名单,导出excel等,此类任务由于活动 ...
- Java框架spring 学习笔记(六):属性注入
属性注入:创建对象的时候,向类里面的属性设置值. Java属性注入有三种方法: 使用set方法注入 有参数构造注入 使用接口注入 Spring框架里面的属性注入方式 有参数构造属性注入 set方法属性 ...
- pyautogui 文档(一):简介
PyAutoGUI 可实现控制鼠标.键盘.消息框.截图.定位等功能,最近做了个自动化需要这些,故了解并记录下 自动化需要操作win7上的一个app,用PyAutoGUI做的,定位坐标,点击鼠标等,但是 ...
- cacti 流量图合并
cacti 安装:https://www.cnblogs.com/weijie0717/p/4072711.html 一.需求介绍 由于交换机的多端口跑同一种流量,需要汇总统计.因此需要见多个端口的流 ...
- airTest 应用到项目并优化
之前已经介绍了airTest的原理,该文主要指引大家能够将airTest框架应用到具体的测试项目当中去. 首先要考虑的是: 1. 你是用airTest 去做什么自动化 (android, ios, w ...
- java代码实现简单的认证——图片验证码形式
前言:认证在互联网中会经常见到,其主要作用是安全问题中防止恶意破解.刷票等.在系统开发中认证的实现也有很多种,什么手机短信认证,邮箱认证等.在这里我使用最基本的验证码的形式进行认证,下面例出过程. 验 ...