问题和练习的答案:创建和使用程序包
Answers
问题 1:假设您已经编写了一些类。迟来的是,您决定将它们分为三个软件包,如下表所示。此外,假定这些类当前在默认包中(它们没有package
语句)。
Package Name | Class Name |
---|---|
mygame.server | Server |
mygame.shared | Utilities |
mygame.client | Client |
一个。您需要在每个源文件中添加哪一行代码以将每个类放入正确的包中?
答案 1a:每个文件的第一行必须指定包:
-
在
Client.java
中添加:package mygame.client;
-
在
Server.java
中添加:package mygame.server;
:
-
在
Utilities.java
中添加:package mygame.shared;
b。为了遵守目录结构,您将需要在开发目录中创建一些子目录,并将源文件放在正确的子目录中。您必须创建哪些子目录?每个源文件都进入哪个子目录?
答案 1b:在mygame
目录中,您需要创建三个子目录:client
,server
和shared
。
-
在
mygame/client/
处:Client.java
-
在
mygame/server/
处:Server.java
-
在
mygame/shared/
处:Utilities.java
C。您是否认为需要对源文件进行任何其他更改才能使其正确编译?如果是这样,该怎么办?
答案 1c:是的,您需要添加导入语句。 Client.java
和Server.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
您可能需要更改建议的导入代码以反映我们的实现。