文档

Java™ 教程
教程: 学习Java语言
课程: 类和对象
主页 > 学习Java语言 > 类和对象

问题和练习答案:类

问题

  1. 考虑以下类:

    public class IdentifyMyParts {
        public static int x = 7;
        public int y = 3;
    } 
    
    1. 问题:哪些是类变量?

      答案:x

    2. 问题:哪些是实例变量?

      答案:y

    3. 问题:以下代码的输出结果是什么:

      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 值。

      这在 理解实例和类成员 的类变量部分有详细介绍。

练习

  1. 练习:编写一个类,其实例代表一副纸牌中的一张牌。纸牌有两个特征:等级和花色。请确保保留您的解决方案,因为您将被要求在枚举类型中重新编写它。

    答案:请查看 Card.java(在一个 .java 源文件中)

  2. 练习:编写一个类,其实例代表一副完整的纸牌。请确保保留这个解决方案。

    答案:请查看 Deck.java(在一个 .java 源文件中)

  3. 练习:编写一个简单的程序来测试您的纸牌和牌组类。程序可以只是创建一副纸牌并显示其牌。

    答案:请查看 DisplayDeck.java(在一个 .java 源文件中)


上一页:问题和练习:类