第一个是枚举类
enum coffeeSize{
BIG(8), HUGE(10), OVERWHELMING(16);
private int ounces;
coffeeSize(int ounces ){
this.ounces = ounces;
}
public int getOunces(){
return ounces;
}
}
这是类CoffeeTest1,主要
public class CoffeeTest1 {
coffeeSize size;
public static void main (String args[]) {
CoffeeTest1 drink1 = new CoffeeTest1();
drink1.size = coffeeSize.BIG;
System.out.println(" " + drink1.size.getOunces());
}
}
以下是输出
8
我的问题 :
我不理解
drink1.size.getounces()
如何输出8。我没有给构造函数coffeeSize(8)
对象(例如:coffeeSize somex = new coffeeSize(BIG)
)。我想知道背后的这种简单的微妙逻辑。有人可以帮我理解吗? 最佳答案
我不明白“ drink1.size.getounces()”如何管理输出8。
[...]
我想知道背后的这种简单的微妙逻辑。
要了解其背后的逻辑,您可以将enum
视为常规的class
(实际上是它的编译方式),并且
BIG(8)
作为此类的一个实例,类似于
new coffeesize(8);
现在应该清楚为什么
drink1.size.getOunces()
打印8:BIG
只是coffeesize
枚举的一个实例,在构造它时将ounces
设置为8。