|
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, экземпляры которого представляют единственную игральную карту из деки карт. У игры в карты есть два различающих свойства: разряд и иск. Убедитесь, что сохранили свое решение, поскольку Вас попросят переписать его в Перечислимых Типах.
Ответ:
Осуществление: Запишите class, экземпляры которого представляет всю деку карт. Следует также сохранить это решение.
Ответ: См. Deck.java
.
Осуществление: Запишите маленькую программу, чтобы протестировать Вашу деку и классы карты. Программа может быть столь же простой как создание деки карт и отображения ее карт.
Ответ: См. DisplayDeck.java
.