云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 实验五-

实验五-

  • 62 次阅读
  • 3 次下载
  • 2025/7/5 3:11:02

System.out.println(\的输出\ } }

class classB {int b; void bbb() {b=200;

System.out.println(\的输出\ } }

----------------------Ex5_2.java源代码-------------------------- public class Ex5_2

{ public static void main(String args[]) { classA objA=new classA(); classB objB=new classB(); objA.aaa(); objB.bbb(); } }

运行Ex5_2,观察运行结果。 运行结果:

classA的输出100 classB的输出200

第二步:采用包,两个java文件用同一个包,即编译后的三个class文件放在同一个mypackage1包中。

----------------------mypack.java源代码----------------------------

package mypackage1; class classA { int a; void aaa() {a=100;

System.out.println(\的输出\ } }

class classB {int b; void bbb() {b=200;

System.out.println(\的输出\ } }

----------------------Ex5_2.java源代码-------------------------- package mypackage1; public class Ex5_2

{ public static void main(String args[])

5

{ classA objA=new classA(); classB objB=new classB(); objA.aaa(); objB.bbb(); } }

运行主类,观察运行结果。 运行结果:

classA的输出100 classB的输出200

如上两个实验表明封装在同包里的类,只要成员不是私有的,相互之间透明,相当在一个java文件中一样使用。默认访问控制符具有包访问性,即同包内可以互相访问 第三步:按【思考问题】提示理解打包的应用过程:

【思考问题】

①将主类文件Ex5_2.java封装在另一个包mypackage2,再进行编译,看编译结果提示什么错误?(提示:两者不在同包,classA和classB不能被识别)。

答:Exception in thread \无法解析的编译问题:

classA 无法解析为类型 classA 无法解析为类型 classB 无法解析为类型 classB 无法解析为类型

at mypackage2.Ex5_2.main(Ex5_2.java:8)

原因:不同胞内除了public之外不能使用

②上条件不变,在主类class Ex5_2加进import mypackage1.*语句,再编译,看是什么编译错误?(提示:载入了mypackag1包,可以识别这两个class,但这两个类不是public,不能被不同包使用)

答:Exception in thread \无法解析的编译问题:

类型 classA 不可视 类型 classA 不可视 类型 classB 不可视 类型 classB 不可视 类型 classA 不可视 类型 classB 不可视

at mypackage2.Ex5_2.main(Ex5_2.java:8)

③将类classA和classB修饰为public再编译,看发生了什么?为什么?(提示:一个java文件中只能有一个public类且类名与文件名相同,因此每个public类用一个单独的java文件,且文件名与类名相同) 答:一个java文件中只能有一个public类且类名与文件名相同,因此每个public类用一个单独的java文件,且文件名与类名相同

④上面通过编译后,再看Ex5_2还存在什么错误?(提示:classA和classB中的方法修饰符是默认的,另一个包中的代码允许访问吗?)

答:Exception in thread \无法解析的编译问题:

6

类型 classA 中的方法 aaa()不可视 类型 classB 中的方法 bbb()不可视

at mypackage2.Ex5_2.main(Ex5_2.java:10)

不允许

⑤将方法aaa()和bbb()修饰为public,重新编译,所有错误是否消失?无错误后可运行主类,观察运行结果。

独的java文件,且文件名与类名相同)

答:Exception in thread \无法解析的编译问题:

类型 classA 不可视 类型 classA 不可视 类型 classB 不可视 类型 classB 不可视 类型 classA 不可视 类型 classB 不可视

at mypackage2.Ex5_2.main(Ex5_2.java:8)

第四步:在不同工程下应用jar压缩包。按【思考问题】步骤理解软件重用和jar压缩包的使用。

①新建一个工程project2,将原主类文件Ex5_2原样加入该工程中。(提示,

importmypack1.*;不能被识别错误,当前工程没有找到包mypack1所在的classpath)

②在Eclipse工具下,由Project—properties—java Build Path—Libraries进入如下界面:

7

该界面可加入第三方类包。这里已有一个默认类包就是JDK,当前工程使用任何第三方包都可通过此界面加入。这里有个选项“Add Class Folder”可加入类文件目录。首先按此选项加入,可浏览到这两个类的包目录D:\\eclipse312\\myfile\\Test_pack\\mypack1“确定”,importmypack1.*;语句错误消

失,但整个文件错误仍然存在,说明直接加入包路径的方法不行。正确的选择应该 是“Add External JARs”,但mypack1还未压缩成jar文件。

③将类包压缩成jar文件。JDK提供了压缩命令,见附录1。在Eclipse下可由导出Export向导完成。“file”—“Export”进入如下界面:

选择JAR file—Next进入下界面:

在该界面可以浏览到被压缩的包mypack1,在JAR file文本栏中指定被压缩的jar文件名和路径。可通过“Browse”浏览到指定路径。按“Finish”可在该目录下得到压缩的jar文件。

8

搜索更多关于: 实验五- 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

System.out.println(\的输出\ } } class classB {int b; void bbb() {b=200; System.out.println(\的输出\ } } ----------------------Ex5_2.java源代码-------------------------- public class Ex5_2 { public static void main(String args[]) { classA objA=new classA(); classB objB=new classB(); objA.aaa(); objB.bbb(); } } 运行Ex5_2,观察运行结果。 运行结果: class

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com