Java 枚举类型
2015-10-02 22:50
746 查看
package com.se;
public enum Operation {
/**
* 枚举类对象(PLUS...) 相当于当前类的一个final 实例
*/
// PLUS,MINUS,TIMES,DIVIDE;
//
// Double apply(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 null;
// }
// }
PLUS("+"){
@Override
Double apply(Double x, Double y) {
// TODO Auto-generated method stub
return x+y;
}
},
MINUS("-"){
@Override
Double apply(Double x,Double y){
return x-y;
}
},
TIMES("*") {
@Override
Double apply(Double x, Double y) {
// TODO Auto-generated method stub
return x*y;
}
},
DIVIDE("/") {
@Override
Double apply(Double x, Double y) {
// TODO Auto-generated method stub
return x/y;
}
}
;
/**
* 把枚举类和行为联系在一起
*/
private String symbol; //不需要申明为final
Operation(){} //默认构造器
Operation(String symbol){
this.symbol=symbol;
}
abstract Double apply(Double x,Double y); //抽象方法
public static void main (String[] args){
/**
* 特定于常量方法的实现,抽象方法
*/
for(Operation oper:Operation.values()){
System.out.println(oper.apply(4.00, 2.0));
}
}
}
public enum Operation {
/**
* 枚举类对象(PLUS...) 相当于当前类的一个final 实例
*/
// PLUS,MINUS,TIMES,DIVIDE;
//
// Double apply(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 null;
// }
// }
PLUS("+"){
@Override
Double apply(Double x, Double y) {
// TODO Auto-generated method stub
return x+y;
}
},
MINUS("-"){
@Override
Double apply(Double x,Double y){
return x-y;
}
},
TIMES("*") {
@Override
Double apply(Double x, Double y) {
// TODO Auto-generated method stub
return x*y;
}
},
DIVIDE("/") {
@Override
Double apply(Double x, Double y) {
// TODO Auto-generated method stub
return x/y;
}
}
;
/**
* 把枚举类和行为联系在一起
*/
private String symbol; //不需要申明为final
Operation(){} //默认构造器
Operation(String symbol){
this.symbol=symbol;
}
abstract Double apply(Double x,Double y); //抽象方法
public static void main (String[] args){
/**
* 特定于常量方法的实现,抽象方法
*/
for(Operation oper:Operation.values()){
System.out.println(oper.apply(4.00, 2.0));
}
}
}
相关文章推荐
- java中+的使用
- 一张图诠释Java集合
- 几个java的图片方法
- JAVA+jni 包名或方法名中含有下划线(_)的解决方法
- Spring定义的7种不同的事务传播行为
- 【Java 语言生态篇】Junit 测试单元
- 链表(Java)
- Java中的native关键字与JNI
- java 杨辉三角 王建安
- JAVA_SE基础——37.main方法的详解
- Java 实时论坛 - Sym 1.3.0 发布
- Java 实时论坛 - Sym 1.3.0 发布
- Java 实时论坛 - Sym 1.3.0 发布
- Java 实时论坛 - Sym 1.3.0 发布
- Java用freemarker导出word文档
- 【Java EE 学习 52】【Spring学习第四天】【Spring与JDBC】【JdbcTemplate创建的三种方式】【Spring事务管理】【事务中使用dbutils则回滚失败!!!??】
- Java注解阐述
- Mybatis系列(八)集合映射
- Java设计模式之封装算法的模板模式
- ubunt14.04.3的vnc中,ti ccsv5 java异常退出,导致ccsv5崩溃