类之间枚举的Set()方法

时间:2013-02-04 17:14:31

标签: java enums

假设我在类中有以下代码:

enum Currency
{
  PENNY(1), NICKEL(5), DIME(10), QUARTER(25);
  private int value;
  private Bonus(int value)
  {
    this.value = value;
  }
  public int getValue()
  {
    return value;
  }
};
public class Coin
{
  Currency c;
  public Coin(Currency c)
  {
    this.c = c;
  }
  public void setCurrency(Currency c)
  {
    this.c = c;
  }
}

如果我有一个单独的类创建具有某个Currency枚举的Coin对象,我怎么能在该单独的类中编写一个方法来将枚举从PENNY设置为DIME?

2 个答案:

答案 0 :(得分:0)

您只需从您创建的单独类中调用coin类中的方法setCurrency,并传递要设置它的货币枚举。

示例:

让我们假设您使用货币枚举创建一个Coin对象为PENNY:

Coin coin = new Coin (Currency.Penny);

现在,您可以在要调用它的单独类中创建单独的方法,并将新货币枚举设置为:

coin.setCurrency(currency.DIME);

答案 1 :(得分:0)

根据您的问题,您所做的事情是有道理的。由于您已将enum中的same java file定义为public class,因此enum's scope将为default,且accessed仅为same package moving

所以我建议another file将其public推荐给{{1}}并将其设为{{1}}。