版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.2 包包4.2.1 4.2.1 包用途包用途 Java允许把多个类收集在一起成为一组,称作包(package)。包便于组织任务,以及使自己的任务和其他人提供的代码库相分离。 标准Java库被分类成许多的包,其中包括java.1ang、java.util和等等。标准Java包是分层次的。就像在硬盘上嵌套有各级子目录一样,可以通过层次嵌套组织包。所有的Java包都在Java和Javax包层次内。例:看j2sdk中src.zip源代码压缩文件.这些类都被放在lib库中.lib下面的dt.jar,tools.jar是按照包的结构进行压缩的.4.2.2 4.2.2 创建包创建包已有的库,比如Java
2、 API中的类和接口,可以导入到Java程序中import java.io.*;Java API中的每一个类和接口属于一个特定的包。它包含一组相关联的类和接口,实际是对类和接口进行组织的目录结构。例如,假定在一个mypackage包中,文件名是MyClass.java。它意味着在那个文件有一个、而且只能有一个public类。而且那个类的名字必须是MyClass(包括大小写形式):package mypackage;public class MyClass 4.2.2 4.2.2 创建包创建包创建可复用的类的步骤简要说明如下:(1)定义一个public类。如果类不是public,它只能被同一包中
3、的其他类使用(即友元类-friendly)。(2)选择一个包名,并把package语句加到可复用的类的源代码文件中。(3)编译这个类。这样,它就被放到适当的包目录结构中,以供编译器和解译器使用。 带有包名的类,其编译运行的格式如下: javac xxxx.java d 指定目录 (如:javac Pen.java d . ) java 包名.类名 (注意-d .指得是在当前目录下生成包目录和类文件,如果不指定-d则在当前目录下生成类文件,这样运行时提示没有这个类,原因是没有包目录,所以一定要使用-d .) 当然也可以在Jcreator中直接编译运行 (4)把这个可复用的类导入到需要用它的程序中
4、。现在就可以使用它了。 注意 在Java语言中可以出现在类定义的括号外面的仅有两个语句,它们是package和import。4.2.3 4.2.3 包引用包引用-每个类名前加上完整的包名每个类名前加上完整的包名有两种方式:1.包名.类名2.一旦使用import(导入)了以后,就不再需要给出完整的包名。只用类名即可可以引入一个特定的类,也可以引入整个包。import语句要放在源文件的头部(但在所有package语句的下面)。例如,可以通过下面的语句引入在java.util包中的所有的类:import java.util.*;然后,就可以使用Date today=new Date();而不需要在前
5、面加上包名。也可以引入包中某个特定的类:import java.util.Date; 比如: 1. import javax.swing.*; JOptionPane.showMessage(null,”student,m”,”lisi”,JOptionPane.INFORMATION_MESSAGE); 2.直接使用: javax.swing.JOptionPane.showMessage(null,”student”);参看例Pen.java,PenTest.java 可以看到,生成的包(即目录)被放在当前文件夹下面,且生成mytoolspen 的文件夹. 如果没有package语句,则生
6、成的类放在默认的包中(即当前目录)包定义时的注意事项 一.创建独一无二的包名: 推荐用自己的互联网域名做包名.因为域名肯定是惟一的.否则用比较生僻不会重复的名字做包名. 如:互联网域名 则可以这样定义包名为:.sias.util 前者为全局名称,后者为自定义库名.二.在实际应用中,1.可将自己写好的类文件生成jar包,以供调用.然后:2.设置类路径。类路径是其子目录包含类文件的所有基本目录的集合。 即用 classpath来指定另一类所在路径比如:pac_test.java位于d:javaT中,(生成的类在d:javaTcomhorstmanncorejava中)生成jar文件,指
7、明路径及jar文件名.如:set classpath =.;c:j2sdklib;d:javaTgrape.jar(必须把jar包的名字放于classpath所指示的路径中)补充:1.类文件打包的方法 设置好path和classpath 使用jar命令: jar cvf ttt.jar PenTest.class mytools2.类打包而且生成可执行jar包的创建方法 1.该类文件必须能运行,即包含有main方法 该类文件的显示必须在图形界面下(即:用一个输入框或消息框来显示). 2.将该类文件和一个标志文件:manifest.mf打包在一起.manifest.mf内容如下:Manifest
8、-Version: 1.0Main-Class: MyTest(不能带.class,MyTest前必须留一空格)Created-By: 1.5.0_04 (Sun Microsystems Inc.) 3.jar cvfm ttt.jar manifest.mf PenTest.class mytools使用该命令总结 1.定义包和类 2.javac 类名 d . 3.java 包名.类名 4.jar cvf 5.set classpath=当前类路径;jar包所在路径4.4 this关键字 this:假定我们在一个方法的内部,并希望表示当前的对象,用this表示即:this代表当前对象本身(
9、在内存中的地址)例:Leaf.java public class Leaf private int i=0; Leaf increment() i+; return this; void print() System.out.println(i=+i); public static void main(String args) Leaf x=new Leaf(); x.increment().increment().increment().print(); 4.4.2 构造函数中调用构造函数 this:一般指“这个对象”,或“当前对象”,但是它在构造函数中,指的是调用另一个相匹配的构造来函数进行一些初始化工作 参看例4.11 WhitePaper.java通过上述例子,我们应注意: this() 这样的用法只能用于构造函数中,不能用于一般函数中 this()只能用于构造函数中的第一句,不能用于第二句 Flower(String s,int petalcount)中,可以这样写:this.s=s;this.petalcount=petalcount; 此处的this代表当前对象,而不是代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑设计项目绿色节能设计标准实施手册
- 临电临水管理安全施工规范
- 深基坑开挖支护安全专项预案编制
- 保温板施工接缝封堵验收规范
- 造口护理标准化作业指导
- 华为手机功能广告介绍
- 项目环境影响评估手册编制指南
- 全面掌握2026年教育热点问题应对策略
- 2026年霍根测评领导力题目及答案
- 2026年工商业燃气用户安全管理培训试题
- 2025北京教育融媒体中心招聘17人(公共基础知识)测试题带答案解析
- 2026年建筑企业合规管理培训课件与工程承包风险防控
- 个人贷款业务概述
- 维生素K1课件教学课件
- 护理综述论文的写作方法
- 网络意识形态安全培训课件
- 行政人事部部门流程
- 热光伏转换材料创新研究
- 厂区防火用电安全培训课件
- 电解铝生产过程自动化控制方案
- 2025-2026学年人教版五年级语文上册期中考试卷(附答案)
评论
0/150
提交评论