itsway,专业的IT网络教程站,让您踏上IT之路,具备IT思维。
  设为首页        加入收藏夹        网站历程

教程总目录:Java教程(上)  Java教程(下)  HTML教程  CSS教程  JavaScript教程

3.9.1 问题和练习

1、现实世界的对象包含________和________。

2、软件对象的状态存储在________中。

3、软件对象的行为通过________暴露给外界。

4、将内部数据隐藏,不让外部世界看到,并且访问它们只能通过公开声明的方法,这被称为数据________。

5、软件对象的蓝本被称为________。

6、常用的行为可以定义在________中,并可以使用________关键字继承在________中。

7、一个没有任何执行部分的方法的集合称为________。

8、按功能组织类和接口的名空间(namespace)称为________。

9、API代表________。

10、为每个现实世界中的对象创建新类,如果忘记语法,请参见本章的Bicycle类

11、对上面创建的每一个新类,创建定义行为的接口,然后要求在类中implement它。忽略一两个方法并且试着便宜,会出现什么错误?

12、考虑下面的类:

  public class IdentifyMyParts { public static int x = 7; public int y = 3; }

a. 类变量是什么?
  b. 实例变量是什么?
  c. 下面代码的输出是什么?

  IdentifyMyParts a = new IdentifyMyParts(); IdentifyMyParts b = new IdentifyMyParts(); a.y = 5; b.y = 6; IdentifyMyParts.x = 1; b.x = 2; System.out.println("a.y = " + a.y); System.out.println("b.y = " + b.y); System.out.println("IdentifyMyParts.x = " + a.x); System.out.println("b.x = " + b.x);

13、写一个card类,它的实例表示一个从一副52张扑克牌(去掉大小王)中抽出的单张扑克牌。扑克牌有两个属性:rank(点数)和suit(花色)。保存好你的解答,因为你今后将以枚举类型重写本题。


提示:可以使用assert语句检查赋值,如下:

  assert (要检查的boolean表达式);

如果boolean是false,就会得到一条错误信息,例如(假设ACE = "Ace"):

  assert toString(ACE) == "Ace";

应该返回true,所以无错误信息。
  如果使用assert语句,这样运行程序时必须加ea标志:

  java -ea YourProgram.class


14、写一个类,它的实例表示一副完整扑克牌的deck类(但不包括大小王),同样需要保存好解答。

15、写一个小程序检查你的deck和card类。程序可以比较简单,例如创建一副扑克牌并显示它的牌。

16、下面的程序有何错误?

  public class SomethingIsWrong { public static void main(String[ ] args) { Rectangle myRect; myRect.width = 40; myRect.height = 50; System.out.println("myRect's area is " + myRect.area()); } }

17、下面的代码创建了一个Point对象和一个Rectangle对象,在代码执行后有多少对这些对象的引用?这两个对象都能被垃圾收集器回收吗?

  ... Point point = new Point(2,4); Rectangle rectangle = new Rectangle(point, 20, 20); point = null; ...

18、程序是如何destroy它创建的对象的?

19、修改第16题中的SomethingIsWrong程序。

20、根据下面的NumberHolder类,写一些代码创建该类的一个实例,并初始化它的两个成员变量,然后显示每个成员变量的值。

  public class NumberHolder { public int anInt; public float aFloat; }

上一篇:3.8.3 classpath变量及设置(2)  下一篇:3.9.2 问题和练习答案(1)

 有问题吗?请到以下论坛讨论:
csdn技术论坛     Sun公司技术社区     ChinaJavaWorld技术论坛     赛迪网Java基础     赛迪网Java进阶     Java BBS
 有价值的Java站点:
http://java.sun.com/:Sun公司的Java教学站点,内容当然绝对权威。
JDK软件下载:仍是Sun公司拥有,包含最新版本的JDK下载软件。  Java API中文帮助文档:Sun公司提供的最新文档。
Java视频教程:由孙鑫老师主讲录制,内容丰富。如果您不愿意看本站的文字教程,可以看此教程。
http://www.java-cn.com/:一个国内的Java中文站,由个人开发。另一个类似的站点是http://www.cn-java.com/
IBM中文Java站     Java Research     J道:Java和J2EE解决之道     Java家     Matrix-与Java共舞     天极网Java文章汇总     x-spirit的个人空间     JavaWorld.com     Java.net     Java Boutique


版权所有:www.itsway.net
CopyRight(C) 2007 www.itsway.net
苏ICP……
电子邮件:denghongtao@hotmail.com