首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于枚举的一个有关问题

2011-12-18 
关于枚举的一个问题下面有两个文件:Egg.javapackage doItMyselfpublic enum Egg {//the enum constants,

关于枚举的一个问题
下面有两个文件:
Egg.java
package doItMyself;

public enum Egg {
//the enum constants, which "call" the constructor
jumbo(30.0),
extraLarge(27.0),
large(24.0);

Egg(double w){//constructor
weight=w;
}

private double weight;

public double getWeight(){
return weight;
}
}

BigEgg.java
package doItMyself;

public class BigEgg {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Egg e=Egg.jumbo;
double wt=e.getWeight();
System.out.println(e+" eggs weight "+wt+" oz. per doz.");
}
}

当运行BigEgg后,出现
Exception in thread "main" java.lang.NullPointerException at doItMyself.BigEgg.main(BigEgg.java:28),为什么?

[解决办法]
我的测试可以通过,可能是你代码没有编译正确吧



另外,Java中的Enum虽然有点复杂,但是我认为是很好用的东西。可以简化一些代码,而且像上述的应用中我还可以getWeight来取得这个Enum不同值所对应的属性


用final double这样没有强制性,我方法a(Egg e)则你很清楚方法的所需要的参数,而a(double e)这样你根本不可能马上知道这个e是什么意思

热点排行