第一个是枚举类
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()
coffeeSize(8)
coffeeSize somex = new coffeeSize(BIG)
我不明白“ drink1.size.getounces()”如何管理输出8。 […] 我想知道背后的这种简单的微妙逻辑。
我不明白“ drink1.size.getounces()”如何管理输出8。
[…]
我想知道背后的这种简单的微妙逻辑。
要了解其背后的逻辑,您可以将您的代码enum视为常规代码class(实际上就是它的编译方式),并且
enum
class
BIG(8)
作为此类的一个实例,类似于
new coffeesize(8);
现在应该清楚为什么drink1.size.getOunces()打印8:BIG只是coffeesize枚举的一个实例,ounces在构造时将其设置为8。
drink1.size.getOunces()
BIG
coffeesize
ounces