Spec-Zone .ru
спецификации, руководства, описания, API
|
Рассмотрите следующий class:
public class IdentifyMyParts { public static int x = 7; public int y = 3; }
Вопрос: Каковы переменные class?
Ответ: x
Вопрос: Каковы переменные экземпляра?
Ответ: y
Вопрос: Что является выводом от следующего кода:
IdentifyMyParts a = new IdentifyMyParts(); IdentifyMyParts b = new IdentifyMyParts(); a.y = 5; b.y = 6; a.x = 1; b.x = 2; System.out.println("a.y = " + a.y); System.out.println("b.y = " + b.y); System.out.println("a.x = " + a.x); System.out.println("b.x = " + b.x); System.out.println("IdentifyMyParts.x = " + IdentifyMyParts.x);
Ответ: Вот вывод:
a.y = 5 b.y = 6 a.x = 2 b.x = 2 IdentifyMyParts.x = 2
Поскольку x
определяется как a public static int
в class IdentifyMyParts
, каждая ссылка на x
будет иметь значение, которое было последнее присвоенный потому что x
статическая переменная (и поэтому переменная class) совместно использованный через все экземпляры class. Таким образом, есть только один x
: когда значение x
изменения в любом экземпляре это влияет на значение x
для всех экземпляров IdentifyMyParts
.
Это покрывается разделом Переменных Класса Понимания Элементы Класса и Экземпляр.
Осуществление: Запишите class, экземпляры которого представляют единственную игральную карту из деки карт. У игры в карты есть два различающих свойства: разряд и иск. Убедитесь, что сохранили свое решение, поскольку Вас попросят переписать его в Перечислимых Типах.
Ответ:
.Card.java
Осуществление: Запишите class, экземпляры которого представляет всю деку карт. Следует также сохранить это решение.
Ответ: См.
.Deck.java
Осуществление: Запишите маленькую программу, чтобы протестировать Вашу деку и классы карты. Программа может быть столь же простой как создание деки карт и отображения ее карт.
Ответ: См.
.DisplayDeck.java