在 Java 中跨多个类使用枚举

2022-09-02 02:37:54

我有以下类:

public class Card 
{
    public enum Suit 
    {
        SPACES, HEARTS, DIAMONDS, CLUBS
    };

    public Card(Suit nsuit, int nrank)
    {
        suit = nsuit;
        rank = nrank;
    }

    private Suit suit;
    private int rank;
}

我想在另一个类中实例化它,但该类不理解枚举。我应该将枚举放在哪里以使其公开可见?Suit


答案 1

Suit 枚举位于 Card 类中,您必须以这种方式访问它:

new Card(Card.Suit.SPADES, 1);

或者,您可以从 Card 中导入 Suit 类,然后直接访问它:

import my.package.Card.Suit;
new Card(Suit.SPADES, 1);

另一种选择是将Suit放在自己的类中,正如Bert所建议的那样。


答案 2

将西装放在自己的类中:

套装.java:

public enum Suit 
{
    SPACES, HEARTS, DIAMONDS, CLUBS
}