带有构造方法的枚举

/****
* 带有构造方法的枚举
* @author yanlong
* 2017/5/7
*/
package local;

public class EnumTest {
public static void main(String[] args){

WeekDay weekDay2=WeekDay.FRI;
System.out.println(weekDay2.name());
System.out.println(weekDay2.ordinal());
}
public enum WeekDay{
SUN(1),MON,TUS(3),WEN,THI,FRI,SAT;
private WeekDay(){System.out.println("first");}
private WeekDay(int day){System.out.println("second");}
}
}

————————————————————————————————————————————————————————

/****
* 带有构造方法的枚举
* @author yanlong
* 2017/5/7
*/
package local;

import java.sql.Date;

public class EnumTest {
public static void main(String[] args){

WeekDay weekDay2=WeekDay.FRI;
System.out.println(weekDay2.name());
System.out.println(weekDay2.ordinal());

new Date(300);
}
public enum WeekDay{
SUN(1),MON,TUS(3),WEN,THI,FRI,SAT;
private WeekDay(){System.out.println("first");}
private WeekDay(int day){System.out.println("second");

}
}
public enum TrafficLamp{
RED(30){
public TrafficLamp nextLamp(){
return GREEN;
}

},
GREEN(45){
public TrafficLamp nextLamp(){
return YELLOW;
}
},
YELLOW(5){
public TrafficLamp nextLamp(){
return RED;
}
};
private int time;
public abstract TrafficLamp nextLamp();
private TrafficLamp(int time){
this.time=time;
}
}
}

时间: 2024-10-11 14:02:18

带有构造方法的枚举的相关文章

Java核心 --- 枚举

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

java基础篇2之枚举

1.为什么要有枚举 问题:要定义星期几或者性别的变量,该怎么定义? 假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday=0; 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则编译器就会报错, 枚举可以让编译器在编译时就可以控制源程序中填写的非法制,普通变量的方式在开发阶段无法实现这一目标 2.用普通类如何实现枚举功能,定义一个WeekDay的类来模拟枚举功能 - 私有的构造方法 - 每个元素分别用一个公有的静态成员变量表示 - 可以有弱冠公有方法或者抽象方

Java5新特性之枚举

1.  概念 首先,枚举并不是一种新技术,而是一种基础数据类型.它隶属于两种基础类型中的值类型,如下: 2.  为什么要有枚举 枚举在真正的开发中是非常常用的,它的作用很简单也很纯粹:它定义了一种规范,就是要让某个类型的变量的取值只能为若干个固定值中的一个,也就是要符合它定义的规范.它可以让编译器在编译时就可以识别程序中填写的非法值,一定程度上防止了运行时的非法类型值错误. 例如:要定义星期几的变量,如果用普通变量1-7   分别表示星期一到星期日,但有人可能写成int weekday=0.这种

java高新技术-枚举

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

JDK 1.5 新特性

前言:为什么会出现新特性呢?   新的技术的出现就是为了解决老的问题,Java语言随着自身的不断发展,对那些不利于提高开发率的技术进行了改进. 1.静态导入 静态导入可以导入静态方法,这样就不必写类名而可以直接省略类名调用静态方法了. 语法:import static 包名.类名.静态方法; 也可以直接导入某个类中的所以静态方法. 语法:import static 包名.类名.*; Java 5.0 代码示例: 1 package com.tolvgx.day01; 2 import stati

黑马程序员_Java高新技术

1  JDK5的新特性 1.1 静态导入       在API中那些不需要new对象的类,可以在类文件的开头,import static java.lang.Math.*;这里把Math中的所有的静态方法都导入了,在类中不需要调用Math类就能直接用Math的方法了 package cn.wjd.staticimport; import static java.lang.Math.*; public class StaticImport { public static void main(Str

Java笔试面试题整理第一波

(本系列同步更新于 个人博客小站) 本系列整理Java相关的笔试面试知识点.其它几篇文章例如以下: Java笔试面试题整理第八波 Java笔试面试题整理第七波 Java笔试面试题整理第六波 Java笔试面试题整理第五波 Java笔试面试题整理第四波 Java笔试面试题整理第三波 Java笔试面试题整理第二波 Java笔试面试题整理第一波 1.Java变量 Java中主要有例如以下几种类型的变量 局部变量 类变量(静态变量)-- 属于类 成员变量(非静态变量)-- 属于对象 2.关于枚举 pack

java基础-温故而知新(02)

基本数据的自动拆装箱及享元设计模式 1.1 自动装箱        -128~127 之间的整数,装在一个内存区域.         超过这个范围的整数,装在不同的内存区域. 1.2 自动拆箱       Integer i1=12;      System.out.println(i1 + 5);//17 1.3 享元模式  flyweight 如果很多很小的对象,他们有很多相同的东西,那就可以把它们变成一个东西;还有不一样的东西就变成外部属性,作为方法的参数传入. package com.i

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

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(W