对问题和练习的答案:类
Questions
- 考虑以下类别:
public class IdentifyMyParts {
public static int x = 7;
public int y = 3;
}
- 问题 :什么是类变量?
答案 :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
在类IdentifyMyParts
中被定义为public static int
,所以对x
的每个引用都将具有最后分配的值,因为x
是在该类的所有实例之间共享的静态变量(因此是类变量)。也就是说,只有一个x
:当x
的值在任何实例中更改时,它将影响IdentifyMyParts
的所有实例的x
的值。
了解实例和类成员的“类变量”部分对此进行了介绍。
Exercises
- 练习 :编写一个类,其实例代表一副纸牌中的一张纸牌。扑克牌具有两个不同的属性:等级和花色。确保保留您的解决方案,因为系统会要求您在Enum Types中重写它。
答案 :Card.java
.
- 练习 :编写一个类,其实例表示一副完整的纸牌。您还应该保留此解决方案。
答案 :请参阅Deck.java
.
- 锻炼 :编写一个 Servlets 来测试您的卡片组和卡类。该程序可以像创建一副纸牌并显示其卡一样简单。
答案 :请参阅DisplayDeck.java
.