版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SISEJava语言程序设计实用教程Java语言程序设计实用教程SISEJava语言程序设计实用教程第七讲 Java的基本类库SISEJava语言程序设计实用教程3本章学习要点:l理解Java包的概念l掌握Java类库的结构l学会Java API规范技术文档的使用SISEJava语言程序设计实用教程7.1 Java包SISEJava语言程序设计实用教程java包l Java语言中每一个类都会生成一个类文件.class。当编写一个比较大的Java项目时,它会生成许多的.class文件。为了有效管理这些.class文件,Java提供了包机制。一个包就相当于操作系统的文件夹,包中的类就相当于文件 l
2、 包的作用:l 合理组织程序文件l 提供名字空间l 实现更多层面的访问控制l 包层次:通过包的层次性,可以实现:把相关的的类组合进一个包,把相关的包组合进一个更大的包l 如在SDK中,大多数被分组进名为java的核心包中,我们也可以创建自己的包和包含进此包的相关的类。同一包中类名是唯一的 SISEJava语言程序设计实用教程Java包格式qpackage 包名;包名; q如:如:package mypackage;q class myClassq q SISEJava语言程序设计实用教程java包的目录层次l 包的目录层次java类的物理存放)l java解释器要求类文件物理存放的匹配包层次的
3、目录层次中。如在Windows系统中,类Circle.class位于chapter4.Shape.shape2D包中,即类的完整引用为:chapter4.shape.shape2D.Cirle,那么,Circle类的物理位置必为目录chapter4shapeshape2DCircle.classSISEJava语言程序设计实用教程包的使用与Classpath环境变量l使用import引入包中的类;l当运行java应用程序时,java解释器必须找到被引用的类。在默认情况下,java会在JDK类的安装目录的基目录中,或在你所创建类的当前目录中查找。如把包对应的目录层次放在其它地方,则通过CLASS
4、PATH环境变量来寻找,即使用CLASSPATH来包含java搜索类的目录类表。 SISEJava语言程序设计实用教程import语句 l import语句位于package语句之后,类的定义之前 ;l 格式:import package1.package2.(class-name | *); l package1是最外层的名称,package2是由圆点(.)分隔的第 二层包的名称l 采用*号不影响程序的运行性能,但会影响编译速度。指明具体类比引入整个包更为合理。 SISEJava语言程序设计实用教程类成员的访问控制修饰符 l private:只能在本类中对其进行访问;l 默认:类成员的默认访
5、问控制修饰符,此成员能被同一包中的其他类访问;l protected:允许被同一包中的类和子类访问子类是否为同一包没有限制);l public:允许任何包中的任何类对其进行访问。 SISEJava语言程序设计实用教程包内的访问示意图SISEJava语言程序设计实用教程包间的访问示意图SISEJava语言程序设计实用教程类成员的访问控制修饰符(P139,例7-1) l private:只能在本类中对其进行访问;l 默认:类成员的默认访问控制修饰符,此成员能被同一包中的其他类访问;l protected:允许被同一包中的类和子类访问子类是否为同一包没有限制);l public:允许任何包中的任何类
6、对其进行访问。 SISEJava语言程序设计实用教程7.2 Java类库的结构SISEJava语言程序设计实用教程回忆:Java 2平台版本 l J2SEJava 2 Standard Edition, Java 2平台标准版):适于创建普通台式电脑上的应用系统,例如桌面系统、包括C/S结构l J2MEJava 2 Micro Edition, Java 2平台微型版):针对嵌入式设备及消费类电器的应用系统,例如:如手机和掌上电脑的操作系统等,它使用了一系列更小的包,可以升级到J2SE和J2EEl J2EEJava 2平台企业版):适于创建服务器端的大型应用软件和服务系统,例如面向企业应用、计
7、算的平台SISEJava语言程序设计实用教程J2SE类库结构 (P141)l javal javaxl orgl sunl Java基础的类库文件为rt.jar,请大家打开该文件,观察其组织结构演示)SISEJava语言程序设计实用教程java核心包中的常用子包l (1 1java.langjava.lang包:是包:是JavaJava语言平台中最核心的包,提供语言平台中最核心的包,提供了一些了一些JavaJava程序设计中最基础的类,在编程时,该包不需程序设计中最基础的类,在编程时,该包不需使用使用importimport语句导入,包中的所有类由系统自动加载。语句导入,包中的所有类由系统自动
8、加载。l (2 2java.utiljava.util包:主要包含大量的实用工具类,如包:主要包含大量的实用工具类,如DateDate、CalendarCalendar、RandomRandom等。等。l (3 3java.iojava.io包:主要包含与输入输出相关的类与接口,包:主要包含与输入输出相关的类与接口,在本章的输入输出流与文件一节中将介绍其中的一些常用在本章的输入输出流与文件一节中将介绍其中的一些常用类的使用。类的使用。l (4 4javajava包:主要包含用于网络编程的相关的类与接口。包:主要包含用于网络编程的相关的类与接口。l (5 5java.sqljava.sql包:主
9、要包含用于数据库连接与处理的相关包:主要包含用于数据库连接与处理的相关的类与接口。的类与接口。l (6 6java.awtjava.awt包:用于开发图形用户界面的早期版本。包:用于开发图形用户界面的早期版本。SISEJava语言程序设计实用教程J2EE类库结构 (P148)l javaxl 由J2EE应用服务器提供,jar的名字可能不一样演示)SISEJava语言程序设计实用教程J2ME类库结构P152) l CDC(Connected Device Configuration):用于内存及电力等资源相对丰富的信息家电产品,如电视机顶盒、网络电视等,所用的Java虚拟机JVM为CVMl CL
10、DC(Connected Limited Device Configuration):用于内存及电力等资源相对贫乏的信息家电产品,如手机、PDA等移动设备,所用的Java虚拟机JVM为KVMl 对于各类IC卡,提供JavaCard API,运行在CardVM的虚拟机上SISEJava语言程序设计实用教程CLDClCLDC包含了一个基本的J2ME运行环境,其中包括虚拟机和核心的java类库lCLDC的核心是虚拟机和核心类库虚拟机运行在设备的操作系统之上,对下层的硬件提供必要的兼容和支持;核心类库提供操作系统所需的最小的软件需求lCLDC对J2SE类库进行了大量的简化,其类库只保留了java规范中
11、定义的最核心的3个包,即java.io、java.lang 和java.util,并重新定义了一个新的包javax.microeditionSISEJava语言程序设计实用教程7.3 java.lang包中的常用类SISEJava语言程序设计实用教程基本语言和系统类P153)l Object:是类层次结构的根类,Java中所有的类都是通过直接或间接地继承java.lang.Object得到的。如果一个类没有extends一个父类,则Java会自动用Object作为其父类l Class:它的实例表示正在运行的Java应用程序中的类和接口。Class.forNamexxx.xx.xx作用是要求JV
12、M查找并加载指定的类,返回的是一个类。l Cloneable:是一个空接口,体为空的接口称为标志接口。他对java系统有特殊的意义,java系统要求,可复制的类需要实现cloneable接口SISEJava语言程序设计实用教程基本语言和系统类续)l ClassLoader:是一个抽象类,负责加载类的对象。定义自己的类加载器时通常需要继承该类。l SecurityManager:允许应用程序实现安全策略的类。例如对于可能不安全的操作该如何操作l System:是由final修饰的类,不能被实例化,其包含一些有用的静态类字段和静态方法。例如:标准输入、标准输出和错误输出流,快速复制数组等l Run
13、time:每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行环境相连接,以获得运行时的信息l Process:由ProcessBuilder.start()和Runtime.exec方法创建一个本机进程,并返回Process的一个实例。一个Process对象可以使用getErrorStream( )获取该进程错误信息l Compiler:主要支持Java到本机代码的编译器及相关服务SISEJava语言程序设计实用教程使用示例:使用示例: Class类与类与Runtime类类q 通过Class类与Runtime类中的方法可以获得运行时的信息,如当前类每、超类名、包名以及内存
14、空间,操作系统名称等。看下例。 SISEJava语言程序设计实用教程q public class Run1q public static void main (String args) q String str = new String();q System.out.println(本类名本类名 =+str.getClass().getName();q System.out.println(超类名超类名 =+str.getClass().getSuperclass().getName();q System.out.println(包包 名名 =+str.getClass().getPackag
15、e().getName();q System.out.println(操作系统操作系统=+System.getProperty();q System.out.println(Java版本版本=+System.getProperty(java.vm.version);q System.out.println(内存总量内存总量=+Runtime.getRuntime().totalMemory();q System.out.println(剩余空间剩余空间=+Runtime.getRuntime().freeMemory();q q SISEJava语言程序设计实用教程错误和异常类l
16、 何谓异常例外)?特殊的运行错误对象,对应着Java语言特定的运行处理机制。l Java中的每一个异常都是java.lang包中的Throwable类或其子类的实例对象l Throwable类有两个直接的子类l 错误类Errorl 不可恢复和不可捕获,如系统崩溃等l 异常Exceptionl 可以捕获且可能被恢复,如下标越界SISEJava语言程序设计实用教程Exception类的继承结构Throwable类Error类Exception类RuntimeExceptionIllegalAccessExceptionClassNotFoundExceptionAWTExceptionIOExce
17、ptionInterruptedExceptionSISEJava语言程序设计实用教程基本数据类型的包装类基本数据类型的包装类P155,表,表7-4) l 在在JavaJava中类型分成两类:基本类型和引用类型。中类型分成两类:基本类型和引用类型。l 每个基本类型都有一个相应的位于每个基本类型都有一个相应的位于java.langjava.lang包中的包包中的包装类。每个包装类使你能够像操作对象一样操作基本类型。装类。每个包装类使你能够像操作对象一样操作基本类型。l 基本类型基本类型booleanboolean、charchar、bytebyte、shortshort、intint、longl
18、ong、floatfloat和和doubledouble对应的包装类:对应的包装类:BooleanBoolean、CharChar、ByteByte、ShortShort、IntInt、LongLong、FloatFloat和和DoubleDouble。l 每个包装类均声明为每个包装类均声明为finalfinal,因此它们的方法隐式地为,因此它们的方法隐式地为finalfinal方法,并且不能重载这些方法。许多处理基本类型方法,并且不能重载这些方法。许多处理基本类型的方法一般声明为类型包装类的静态方法。如果程序需要的方法一般声明为类型包装类的静态方法。如果程序需要操作基本类型的值,可以通过类名来调用这些静态方法。操作基本类型的值,可以通过类名来调用这些静态方法。SISEJava语言程序设计实用教程包装类的使用举例包装类的使用举例l 例如,以下代码是将一个字符串转变为一个double值:l String str=”28.8”;lnumber1=Double.parseDouble(str);l 其中parseDouble为Double类型包装类的一个静态方法,我们直接通过类名.静态方法名来进行调用。将str这个参数中的字符串转变为Double型的数据。 l 见P155例7-2SISEJava语言程序设计实用教程Java中的反射类和垃圾回收中的反射类和垃圾回收l 通过反射功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版个人合伙跨境电商投资合作合同4篇
- 2025版学校办公物资零星采购合同范本3篇
- 2025版体育馆消防安全检测与维护保养合同范本3篇
- 2025年度木工设计版权授权合同4篇
- 2025年影视宣传片合同范本全面服务保障3篇
- 组织的资源战略能力和竞争地位分析课件
- 广东省广州市白云区2024-2025学年八年级上学期期末考试英语试题(无答案)
- 二零二五版电力工程项目设计承包合同3篇
- 2025版万科商业物业租赁合同样本(含合同备案)3篇
- 桥梁隧道工程-试验检测师《桥梁隧道工程》模考试卷9
- 2024企业答谢晚宴会务合同3篇
- 《客舱安全管理与应急处置》课件-第14讲 应急撤离
- 中华人民共和国文物保护法
- 节前物业安全培训
- 高甘油三酯血症相关的器官损伤
- 手术室护士考试题及答案
- 牙膏项目创业计划书
- 单位食堂供餐方案
- 风电工程需要编写的专项施工方案及危大工程目录
- 商业计划书(BP)财务计划风险控制资本退出与附录的撰写秘籍
- 七年级下册《Reading 1 A brave young man》优质课教案牛津译林版-七年级英语教案
评论
0/150
提交评论