带构造方法和抽象方法的枚举

package cn.itcast.day1;

public class Enum {
public static void main(String[] args) {
Weekday1 weekday = Weekday1.SAT;

System.out.println(weekday.nextDay());

System.out.println(Weekday.FRI);
System.out.println(Weekday.MON.name());
System.out.println(Weekday.MON.ordinal());

}

public enum Weekday{
//最简单的枚举
SUN,MON,TUS,WED,THU,FRI,SAT;//此处可以加 ;号,亦可以不加

//带构造方法的枚举

//当枚举带构造方法时,1 ,构造方法必须放在属性后面
// 2, 属性后面必须加 ;号

// 3, 构造方法必须是私有的
//无参的构造方法
private Weekday(){}
//有参的构造方法

private Weekday(int day){}

}

public enum TrifficLight{
//带有抽象方法的枚举
GREEN(30){
public TrifficLight nextLight(){
return YELLOW;
}
},
RED(15){
public TrifficLight nextLight(){
return GREEN;
}
},
YELLOW(5){
public TrifficLight nextLight(){
return RED;
}
};

//下一个灯为

public abstract TrifficLight nextLight();

//定义一个有参的构造方法

private int time;//每种灯亮的时间
private TrifficLight(int time){
this.time = time;
}
}

}

带构造方法和抽象方法的枚举

时间: 2024-08-28 22:38:49

带构造方法和抽象方法的枚举的相关文章

包含抽象方法的枚举类

public enum Operation { PLUS,MINUS,TIMES,DIVIDE;//每一个枚举值都是一个实例 double eval(double x,double y)//我们定义一个方法,实现不同的操作 { switch(this) { case PLUS: return x + y; case MINUS: return x - y; case TIMES: return x * y; case DIVIDE: return x % y; default: return 0

枚举的构造方法和抽象方法。。。。。。。。。。。。

public class Demo01 { public static void main(String[] args) { // TODO Auto-generated method stub //枚举类可以有构造方法,但必须是private的,它默认的也是private的. //枚举是一个特殊类,也是方法 //int week = 8; Week week = Week.SUN; week.test1(); /*switch (week) { case SUN: System.out.pri

poj2912(带权并查集+枚举)

题目链接:http://poj.org/problem?id=2912 题意:给n个人,m组关系,玩石头剪刀布的游戏,n个人中除一个人judge以外,其他人属于3个group(即石头.剪刀.布),他们只能出这一个手势,而judge可以随便出,要求能否找到judge和在第几组关系时能最先找到judge. 思路:poj1182食物链的进阶版,与那题不同的是,这里需要枚举0到n-1,枚举i假设其为judge,然后遍历不包含i的所有关系,如果符合条件,则i就是judge,否则其不是judge,记录其判断

黑马程序员_java枚举的使用

1. 什么是枚举 所谓枚举是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内.比如星期,一年中的四季,颜色值等都可以使用枚举进行列举出来. 2. 枚举类的前世今生 在jdk5以前的,要使用枚举那是不可能的,因为那个时候还没有呢,从5之后就有了枚举.其实一个枚举中的实例对象都是被static final 修饰的,因此我们可以使用普通的类进行模拟. // 使用普通类来模拟一个枚举类(类用来描述星期) // 不带抽象方法 public class WeekDay { // 禁止创建对象 p

黑马程序员------Java中jdk1.5新特性

Java培训.Android培训.iOS培训..Net培训.期待与您交流! JDK1.5新特性: 为什么会出现新特性: 新的技术出现是为了解决老的问题,Java语言为了提高开发者的开发效率,对之前的某些不利于提高效率的技术进行改进. 静态导入: 静态导入:可以导入某个类下的静态方法,静态导入后,可以不写类名而直接使用此类下的静态方法. 语法:import static 包名.类名.静态方法 代码示例: package com.itheima.day1; /** * 静态导入 * @author

Java核心 --- 枚举

Java核心 --- 枚举 枚举把显示的变量与逻辑的数字绑定在一起在编译的时候,就会发现数据不合法也起到了使程序更加易读,规范代码的作用 一.用普通类的方式实现枚举 新建一个终态类Season,把构造方法设为私有,因为枚举值不能随意增加因为不能new出这个类的对象,所以需要定义成员变量,把new写在类的内部这样,就可以在类的外部通过访问类的静态成员变量的方式访问到枚举值通过这样的方式,只能在类的外部使用在枚举类的内部定义的枚举值 类Season里面是可以有方法的,我们设置地球又公转了四分之一方法

java高新技术-枚举

1.什么是枚举 枚举是jdk1.5后才增加的新特性 用枚举就是要规定一个新的类型,那么要用这个类型的值就必须是我规定的那些值.如果不是那些值,编译器就会报错,好处是编译时就会做出判断 2.用普通类模拟枚举的实现原理 package com.java.javaenhance1; /** * 用普通的java类,来实现枚举的原理 * 这个类所定义出来的值只能是那么几个,这个值不是一个普通基本类型的值,而是一个对象 * @author Administrator * */ public class W

黑马程序员——【Java高新技术】——JDK1.5新特性:静态导入、可变参数、增强型for循环、自动装箱拆箱、枚举

一.静态导入 1.import和import static区别: (1)import 是导入一个类或某个包中所有的类. (2)import static是导入一个类中的某个静态方法或所有的静态方法. 注:在调用静态导入的类的静态方法时,可以不用再写类名.如Arrays.sort(int[])可以直接写sort(int[]); 2.静态导入的写法: (1)import static java.util.Arrays.*;   表示导入Arrays类中的所有静态成员. (2)import stati

java.基础、集合、枚举、泛型、

1.myeclipse的安装和使用 * eclipse:是一个免费的开发工具 * myeclipse:是一个收费的插件,破解myeclipse, ** 安装目录的要求: 不能有中文和空格 ** 安装完成之后,选择一个工作空间 ,这个工作空间不能有中文和空格 * 破解myeclipse ** 运行run.bat文件,但是运行之前,必须要安装jdk,通过配置环境变量 * myeclipse的使用 * 创建一个工程 - 类型 java project web project - 选择依赖的jdk,可以