首页 > 代码库 > Java编程:枚举enum中,将方法附加到枚举常量
Java编程:枚举enum中,将方法附加到枚举常量
package 枚举; //将方法附加到枚举常量 public class UnitsConverter { private static double numberToConvert = 0; public static void main(String[] args) { // TODO Auto-generated method stub if(args.length == 0) { System.out.println("Usage:java UnitsConverter<weight in pounds>"); System.exit(0); } numberToConvert = Double.parseDouble(args[0]); System.out.println("lbs "+args[0]+" equals:\n"); //遍历Converter枚举的所有元素 for(Converter conv:Converter.values()) { System.out.printf("%s:%f%n",conv,conv.performConversion(numberToConvert)); } } } //枚举Converter:变换器 //Converter中的每个常量都需要实现这个方法。 enum Converter { //把磅换算成千克,需要把指定值乘以常量0.45359237 KG("KG"){ double performConversion(double f){ return f*=0.45359237; } }, //把磅换算成克拉 CARAT("carat"){ double performConversion(double f){ return f*=2267.96185; } }, // GMS("gms"){ double performConversion(double f){ return f*=453.59237; } }, // OUNCE("ounce"){ double performConversion(double f){ return f*=16; } }, // STONE("stone"){ double performConversion(double f){ return f*=0.071428571429; } }; private final String symbol; //构造方法 Converter(String symbol) { this.symbol=symbol; } @Override public String toString() { return symbol; } //定义的抽象方法performConversion:执行转换 abstract double performConversion(double f); }
lbs 5.0 equals: KG:2.267962 carat:11339.809250 gms:2267.961850 ounce:80.000000 stone:0.357143
Java编程:枚举enum中,将方法附加到枚举常量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。