- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的程序设计方法精要
面向对象的程序设计方法;对象;类;包;使用package语句时需注意以下问题:
① package语句必须作为源程序文件中的第一条语句,在它之前除注释外不能出现任何语句。
② 一个源程序文件中只能有一条package语句。
③ 不同的源程序文件中可以使用相同的package语句,此时这些文件中所有的类将归属于同一个包。
④ 同包中所有的类经编译生成的字节码文件必须存储在同一个文件夹中,而且文件夹的名称必须和包名相同。
若未设置classpath,该文件夹应存储在当前目录中;若设置了classpath,该文件夹可以存储在classpath中设定的任意目录下。
⑤ 包可以有层次结构,中间用圆点分开即可,如:
package pack1.pack2.pack3;
这种情况下,需建立与包名层次一致的目录结构,并将字节码文件存储在pack3中,而pack1的位置要符合第④条的要求。;【例3-1】观察并体会java包的管理机制。
使用记事本建立源程序文件Test1.java和Test2.java,文件内容如下所示:
//Test1.java
package pack1;
class A{
}
public class Test1{
public static void main(String args[]){
System.out.println(pack1包中的入口类);
}
}
//Test2.java
package pack1.pack2.pack3;
class B{
}
public class Test2{
public static void main(String args[]){
System.out.println(pack1.pack2.pack3包中的入口类);
}
}
;将两个文件均存储在F:\example中(为了便于观察,存盘前先删除掉F:\example中的所有内容),删除掉环境变量classpath,打开windows的命令窗口,将当前目录切换为F:\example,用dir命令列表查看一下,确认当前目录中只有两个文件Test1.java和Test2.java,然后执行下列操作。
① 执行命令:
javac Test1.java回车
dir回车
此时可以发现又出现了两个文件Test1.class和A.class。可见,一个源程序文件中所有的类经编译后均会生成字节码文件。
② 执行命令:
java Test1回车
此时会出现提示信息:“错误:找不到或无法加载主类Test1”
错误原因在于程序中指定了Test1类和A类均属于pack1包,按照Java包的管理机制,Test1.class和A.class就必须存放在名为pack1的文件夹中,且pack1还必须位于当前目录即F:\example之中。 ;③ 使用window的“文件资源管理器”在F:\example中新建一个文件夹pack1,并将Test1.class和A.class移动到该文件夹中,执行命令:
java pack1.Test1回车
Test1被正确的加载了。但要注意如果输入命令时缺少了“pack1.”,也会出现提示:“错误:找不到或无法加载主类Test1”。
因此使用解释器加载位于某个包中的类时,不仅类的字节码文件要按规定的位置存储,执行时也需在类名前加上正确的前缀。
执行命令:
java pack1.A回车
此时会看到提示信息:“错误:在类pack1.A中找不到main方法……”。由此可见,不包含入口方法的类是不能用解释器直接加载的。;④ 删除掉pack1文件夹,恢复到步骤①开始前的状态,然后执行命令:
javac –d . Test1.java回车
用“文件资源管理器”观察F:\example,
执行命令:
java pack1.Test1回车
程序将正常运行。
⑤ 执行命令
javac –d . Test2.java回车
观察目录结构,思考如何加载类Test2。
⑥ 分别建立子目录F:\temp1、F:\temp2和F:\temp3
设置环境变量classpath,值为“F:\temp1;F:\temp2”
将pack1文件夹移动到F:\temp3之中
关闭命令窗口再重新打开,依然将当前目录切换至F:\example,执行命令:
java pack1.Test1回车
将pack1文件夹分别移动到F:\temp1和F:\temp2中,验证pack1.Test1能否正确加载。;引入包
解压缩src.zip,观察Java类库的组织形式
若程序中使用java.awt包中的Color类,需要用完整的包名指明它所在的位置,即使用java.awt.Color这种形式才能够通过编译。
可以使用
文档评论(0)