这是我第一次在类中使用枚举。我想创建一个Pizza类,以便用户可以创建Pizza对象,然后设置大小,获取大小,设置奶酪的数量等。Pizza()是默认构造函数,用于初始化不带参数的Pizza对象。谢谢!!

package PizzaPackage;

public class Pizza {
private enum PizzaSize {
    small, medium, large }
protected int numcheese;
protected int numpep;
protected int numham;

Pizza(){
     PizzaSize newpizza= PizzaSize.medium; //Is this correct?
     numcheese = 1;
     numpep =0;
     numham=0;
}
public int getnumcheese() {
    return this.numcheese;

}

public int getnumpep() {
    return this.numpep;
}

public int getnumham() {
    return this.numham;
}

public void setSize(PizzaSize newpizza){
    //???

}
public PizzaSize getSize(){
    //???
}
}

最佳答案

不完全的。

PizzaSize是一个枚举,您已正确声明了这一点。

但是,您将PizzaSize枚举误认为是拥有Pizza的任何特定实例的该值的实例成员。

您应该创建一个名为private pizzaSize的其他私有成员变量,并且构造函数应在

this.pizzaSize = PizzaSize.medium;

然后,在您的getSize()方法中,您应该返回this.pizzaSize;

此外,您的setSize(PizzaSize newpizza)应包含this.pizzaSize = newpizza

关于java - 如何在对象类-Java中实现枚举?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48627744/

10-11 04:39