java创建对象用枚举型_java – 如何在编译期间翻译枚举以及如何创建对象

enum icecream {

vanilla(100), strawberry(20);

int price;

icecream(int i) {

price = i;

}

}

关于如何在编译期间创建枚举对象,我有点困惑

我看到他们提到的一些例子

public enum Flavor

{

COFFEE, VANILLA, CHOCOLATE, STRAWBERRY, RUM_RAISIN, PEACH

}

这被翻译成(在编译期间)

public final class Flavor

extends java.lang.Enum

{

public static final Flavor COFFEE = new Flavor("COFFEE", 0);

public static final Flavor VANILLA = new Flavor("VANILLA", 1);

// ...

}

但是当我将值与名称一起传递给我时,对象是如何创建的,它们看起来就像是方法调用. E.x.香草(100)这里的香草,价格是100,但它是如何创建的?我根本没有得到它.请帮忙 :(

最佳答案 香草(100),草莓(20)只是一个java5表示法.它在编译期间被翻译成适当的对象创建代码:

public static final icecream vanilla = new icecream(100);

public static final icecream strawberry = new icecream(20);

BTW,java类型应该是CamelCased,所以,icecream应该命名为IceCream.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值