Ответ 1
Поместите Костюм в свой класс:
Suit.java:
public enum Suit
{
SPACES, HEARTS, DIAMONDS, CLUBS
}
У меня есть следующий класс:
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
. Где я должен поместить перечисление, чтобы сделать его общедоступным?
Поместите Костюм в свой класс:
Suit.java:
public enum Suit
{
SPACES, HEARTS, DIAMONDS, CLUBS
}
Перечисление Suit находится внутри класса Card, и вам нужно получить к нему доступ таким образом:
new Card(Card.Suit.SPADES, 1);
Или вы можете импортировать класс Suit из Card и напрямую обращаться к нему:
import my.package.Card.Suit;
new Card(Suit.SPADES, 1);
Другой вариант - поставить Suit в свой класс, как это предложил Берт.
Перечисление уже видно.
Card card = new Card(Card.Suit.CLUBS, 5);
создаст новую карту.
Несвязанный... но вы можете захотеть сделать костюм Spaces в костюм Spades.:)
Переменная Suit
находится внутри класса Card
, и вам нужно получить к ней доступ таким образом:
Card.Suit suit = Card.Suit.CLUBS;