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));
}
}
}
新聞熱點
疑難解答