从其他类访问枚举

2022-09-05 00:38:01

我是Java的新手,我正在努力让我的枚举工作。我在BlueJ工作,我有2个班级(试图建立一个纸牌游戏)。我的第一个类叫做Card,在这个类中,我有一个名为Suit的枚举。我的另一个类是 Deck,我正在尝试从这个类调用枚举。我的问题是在甲板的for循环中,我已经宣布了西装套装。它无法识别类套装。

我的代码在下面,如果有人能看出我做错了什么......将不胜感激。谢谢!

public class Deck
{

private Bag<Card> cardBag = new Bag<Card>();

public Deck()
{
  for(Suit suit : Suit.values())
     {
         Card card= new Card (suit, 5);
     }
 }

//

public class Card
{
public enum Suit
{
    H, S, C, D
}

private Suit suit;
private int valueOfCard;

public static final int ACE = 1;
public static final int JACK = 11;
public static final int QUEEN = 12;
public static final int KING = 13;

public Card(int valueOfCard, Suit suit)
{
    this.valueOfCard= valueOfCard;
    this.suit=suit;
}
}

答案 1

这里至少有两种可能的解决方案:

  1. 将枚举放在其自己的文件中。Suit

  2. 在其他类中具有完全限定名的访问权限。这就是使用,而不仅仅是。SuitCard.SuitSuit


答案 2