问题和练习的答案:创建和使用程序包

Answers

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

Package NameClass Name
mygame.serverServer
mygame.sharedUtilities
mygame.clientClient

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

  • Client.java中添加:

    • package mygame.client;
  • Server.java中添加:

    • package mygame.server; :
  • Utilities.java中添加:

    • package mygame.shared;

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

  • mygame/client/处:

    • Client.java
  • mygame/server/处:

    • Server.java
  • mygame/shared/处:

    • Utilities.java

C。您是否认为需要对源文件进行任何其他更改才能使其正确编译?如果是这样,该怎么办?
答案 1c:是的,您需要添加导入语句。 Client.javaServer.java需要导入Utilities类,可以使用以下两种方法之一进行导入:

import mygame.shared.*;
       --or--
import mygame.shared.Utilities;

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

import mygame.client.Client;

Exercises

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

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