问题1:假设您已经编写了一些类。您决定将它们分为三个软件包,如下表所示。此外,假定这些类当前在默认包中(它们没有任何package语句)。

包名 类名
mygame.server Server
mygame.shared Utilities
mygame.client Client

a.您需要在每个源文件中添加哪一行代码以将每个类放入正确的包中?
答:每个文件的第一行必须指定包:

  1. In Client.java add:
  2. package mygame.client;
  3. In Server.java add:
  4. package mygame.server;:
  5. In Utilities.java add:
  6. package mygame.shared;

b.为了遵守目录结构,您将需要在开发目录中创建一些子目录,并将源文件放在正确的子目录中。您必须创建哪些子目录?每个源文件都进入哪个子目录?
答:在mygame目录中,您需要创建三个子目录:clientserver,和shared

  1. In mygame/client/ place:
  2. Client.java
  3. In mygame/server/ place:
  4. Server.java
  5. In mygame/shared/ place:
  6. Utilities.java

C.您是否认为需要对源文件进行任何其他更改才能使其正确编译?如果可以的话
答:是的,您需要添加导入语句。Client.javaServer.java需要导入Utilities类,他们可以通过以下两种方式之一进行操作:

  1. import mygame.shared.*;
  2. --or--
  3. import mygame.shared.Utilities;

另外,Server.java需要导入Client类:

  1. import mygame.client.Client;

练习题

练习1:下载三个源文件:

a.使用刚刚下载的源文件来实现您在问题1中提出的更改。
b.编译修改后的源文件。(提示:如果你在命令行调用编译器(而不是使用生成器),调用从包含该目录中的编译器。你刚才创建的目录mygame
答:下载解决方案——zip文件: 您可能需要更改您建议的导入代码以反映我们的实施。mygame.zip