对问题和练习的答案:类

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

(在.java 源文件中)

.

  • 练习 :编写一个类,其实例表示一副完整的纸牌。您还应该保留此解决方案。

答案 :请参阅Deck.java

(在.java 源文件中)

.

  • 锻炼 :编写一个 Servlets 来测试您的卡片组和卡类。该程序可以像创建一副纸牌并显示其卡一样简单。

答案 :请参阅DisplayDeck.java

(在.java 源文件中)

.