问题1:假设您已经编写了一些类。您决定将它们分为三个软件包,如下表所示。此外,假定这些类当前在默认包中(它们没有任何package
语句)。
包名 | 类名 |
---|---|
mygame.server |
Server |
mygame.shared |
Utilities |
mygame.client |
Client |
a.您需要在每个源文件中添加哪一行代码以将每个类放入正确的包中?
答:每个文件的第一行必须指定包:
In Client.java add:
package mygame.client;
In Server.java add:
package mygame.server;:
In Utilities.java add:
package mygame.shared;
b.为了遵守目录结构,您将需要在开发目录中创建一些子目录,并将源文件放在正确的子目录中。您必须创建哪些子目录?每个源文件都进入哪个子目录?
答:在mygame
目录中,您需要创建三个子目录:client
,server
,和shared
。
In mygame/client/ place:
Client.java
In mygame/server/ place:
Server.java
In mygame/shared/ place:
Utilities.java
C.您是否认为需要对源文件进行任何其他更改才能使其正确编译?如果可以的话
答:是的,您需要添加导入语句。Client.java
和Server.java
需要导入Utilities
类,他们可以通过以下两种方式之一进行操作:
import mygame.shared.*;
--or--
import mygame.shared.Utilities;
另外,Server.java
需要导入Client
类:
import mygame.client.Client;
练习题
练习1:下载三个源文件:
a.使用刚刚下载的源文件来实现您在问题1中提出的更改。
b.编译修改后的源文件。(提示:如果你在命令行调用编译器(而不是使用生成器),调用从包含该目录中的编译器。你刚才创建的目录mygame
)
答:下载解决方案——zip文件: 您可能需要更改您建议的导入代码以反映我们的实施。mygame.zip