enum E{
	a{
		double k=0;
		public double f(double i,double j){
			k=i+j;
			return k;
		}
	},

	b{
		public double f(double i,double j){		
			return i-j;
		}
	},

	c{
		public double f(double i,double j){		
			return i*j;
		}
	};
	
	/*枚举值的体中定义的方法f，实际上就是覆盖了下面的方法，
	  注意覆盖方法对访问修饰符的限制规则。
	  故下面的方法必须要有，当然可以是抽象的，也可以不是抽象的。*/
	public abstract double f(double x, double y);
 	//上面的方法也可以替换为下面的方法：
	/*
	  double f(double x, double y){
			return 0;
	  }
	*/

	public static void main(String[] args){
		double i=2.5,j=2.0;
		for(E e: E.values()){
			System.out.println(e.f(i,j));//调用了枚举值的体中的方法
		}
	}
}
