您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > Java语言程序设计实用教程第七讲Java的基本类库
SISEJava语言程序设计实用教程Java语言程序设计实用教程SISEJava语言程序设计实用教程第七讲Java的基本类库SISEJava语言程序设计实用教程3本章学习要点:理解Java包的概念掌握Java类库的结构学会JavaAPI规范技术文档的使用SISEJava语言程序设计实用教程7.1Java包SISEJava语言程序设计实用教程java包Java语言中每一个类都会生成一个类文件.class。当编写一个比较大的Java项目时,它会生成许多的.class文件。为了有效管理这些.class文件,Java提供了包机制。一个包就相当于操作系统的文件夹,包中的类就相当于文件包的作用:合理组织程序文件提供名字空间实现更多层面的访问控制包层次:通过包的层次性,可以实现:把相关的的类组合进一个包,把相关的包组合进一个更大的包如在SDK中,大多数被分组进名为java的核心包中,我们也可以创建自己的包和包含进此包的相关的类。同一包中类名是唯一的SISEJava语言程序设计实用教程Java包格式package包名;如:packagemypackage;classmyClass{……}SISEJava语言程序设计实用教程java包的目录层次包的目录层次(java类的物理存放)java解释器要求类文件物理存放的匹配包层次的目录层次中。如在Windows系统中,类Circle.class位于chapter4.Shape.shape2D包中,即类的完整引用为:chapter4.shape.shape2D.Cirle,那么,Circle类的物理位置必为目录chapter4shape\shape2D\Circle.classSISEJava语言程序设计实用教程包的使用与Classpath环境变量使用import引入包中的类;当运行java应用程序时,java解释器必须找到被引用的类。在默认情况下,java会在JDK类的安装目录的基目录中,或在你所创建类的当前目录中查找。如把包对应的目录层次放在其它地方,则通过CLASSPATH环境变量来寻找,即使用CLASSPATH来包含java搜索类的目录类表。SISEJava语言程序设计实用教程import语句import语句位于package语句之后,类的定义之前;格式:importpackage1[.package2].(class-name|*);package1是最外层的名称,package2是由圆点(.)分隔的第二层包的名称采用*号不影响程序的运行性能,但会影响编译速度。指明具体类比引入整个包更为合理。SISEJava语言程序设计实用教程类成员的访问控制修饰符private:只能在本类中对其进行访问;默认:类成员的默认访问控制修饰符,此成员能被同一包中的其他类访问;protected:允许被同一包中的类和子类访问(子类是否为同一包没有限制);public:允许任何包中的任何类对其进行访问。SISEJava语言程序设计实用教程包内的访问示意图SISEJava语言程序设计实用教程包间的访问示意图SISEJava语言程序设计实用教程类成员的访问控制修饰符(P139,例7-1)private:只能在本类中对其进行访问;默认:类成员的默认访问控制修饰符,此成员能被同一包中的其他类访问;protected:允许被同一包中的类和子类访问(子类是否为同一包没有限制);public:允许任何包中的任何类对其进行访问。SISEJava语言程序设计实用教程7.2Java类库的结构SISEJava语言程序设计实用教程回顾:Java2平台版本J2SE(Java2StandardEdition,Java2平台标准版):适于创建普通台式电脑上的应用系统,例如桌面系统、包括C/S结构J2ME(Java2MicroEdition,Java2平台微型版):针对嵌入式设备及消费类电器的应用系统,例如:如手机和掌上电脑的操作系统等,它使用了一系列更小的包,可以升级到J2SE和J2EEJ2EE(Java2平台企业版):适于创建服务器端的大型应用软件和服务系统,例如面向企业应用、计算的平台SISEJava语言程序设计实用教程J2SE类库结构(P141)javajavaxorgsunJava基础的类库文件为rt.jar,请大家打开该文件,观察其组织结构(演示)SISEJava语言程序设计实用教程java核心包中的常用子包(1)java.lang包:是Java语言平台中最核心的包,提供了一些Java程序设计中最基础的类,在编程时,该包不需使用import语句导入,包中的所有类由系统自动加载。(2)java.util包:主要包含大量的实用工具类,如Date、Calendar、Random等。(3)java.io包:主要包含与输入输出相关的类与接口,在本章的输入输出流与文件一节中将介绍其中的一些常用类的使用。(4)java.net包:主要包含用于网络编程的相关的类与接口。(5)java.sql包:主要包含用于数据库连接与处理的相关的类与接口。(6)java.awt包:用于开发图形用户界面的早期版本。SISEJava语言程序设计实用教程J2EE类库结构(P148)javax由J2EE应用服务器提供,jar的名字可能不一样(演示)SISEJava语言程序设计实用教程J2ME类库结构(P152)CDC(ConnectedDeviceConfiguration):用于内存及电力等资源相对丰富的信息家电产品,如电视机顶盒、网络电视等,所用的Java虚拟机JVM为CVMCLDC(ConnectedLimitedDeviceConfiguration):用于内存及电力等资源相对贫乏的信息家电产品,如手机、PDA等移动设备,所用的Java虚拟机JVM为KVM对于各类IC卡,提供JavaCardAPI,运行在CardVM的虚拟机上SISEJava语言程序设计实用教程CLDCCLDC包含了一个基本的J2ME运行环境,其中包括虚拟机和核心的java类库.CLDC的核心是虚拟机和核心类库.虚拟机运行在设备的操作系统之上,对下层的硬件提供必要的兼容和支持;核心类库提供操作系统所需的最小的软件需求.CLDC对J2SE类库进行了大量的简化,其类库只保留了java规范中定义的最核心的3个包,即java.io、java.lang和java.util,并重新定义了一个新的包javax.microeditionSISEJava语言程序设计实用教程7.3java.lang包中的常用类SISEJava语言程序设计实用教程基本语言和系统类(P153)Object:是类层次结构的根类,Java中所有的类都是通过直接或间接地继承java.lang.Object得到的。如果一个类没有extends一个父类,则Java会自动用Object作为其父类Class:它的实例表示正在运行的Java应用程序中的类和接口。Class.forName(xxx.xx.xx)作用是要求JVM查找并加载指定的类,返回的是一个类。Cloneable:是一个空接口,体为空的接口称为标志接口。他对java系统有特殊的意义,java系统要求,可复制的类需要实现cloneable接口SISEJava语言程序设计实用教程基本语言和系统类(续)ClassLoader:是一个抽象类,负责加载类的对象。定义自己的类加载器时通常需要继承该类。SecurityManager:允许应用程序实现安全策略的类。例如对于可能不安全的操作该如何操作System:是由final修饰的类,不能被实例化,其包含一些有用的静态类字段和静态方法。例如:标准输入、标准输出和错误输出流,快速复制数组等Runtime:每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行环境相连接,以获得运行时的信息Process:由ProcessBuilder.start()和Runtime.exec方法创建一个本机进程,并返回Process的一个实例。一个Process对象可以使用getErrorStream()获取该进程错误信息Compiler:主要支持Java到本机代码的编译器及相关服务SISEJava语言程序设计实用教程使用示例:Class类与Runtime类通过Class类与Runtime类中的方法可以获得运行时的信息,如当前类每、超类名、包名以及内存空间,操作系统名称等。看下例。SISEJava语言程序设计实用教程publicclassRun1{publicstaticvoidmain(Stringargs[]){Stringstr=newString();System.out.println(本类名=+str.getClass().getName());System.out.println(超类名=+str.getClass().getSuperclass().getName());System.out.println(包名=+str.getClass().getPackage().getName());System.out.println(操作系统=+System.getProperty(os.name));System.out.println(Java版本=+System.getProperty(java.vm.version));System.out.println(内存总量=+Runtime.getRuntime().totalMemory());System.out.println(剩余空间=+Runtime.getRuntime().freeMemory());}}SISEJava语言程序设计实用教程错误和异常类何谓异常(例外)?特殊的运行错误对象,对应着Java语言特定的运行处理机制。Java中的每一个异常都是java.lang包中的Throwable类或其子类的实例对象Throwable类有两个直接的子类错误类Error不可恢复和不可捕获,如系统崩溃等异常Exception可以捕获且可能被恢复,如下标越界SISEJava语言程序设计实用教程Exception类的继承结构Throwable类Error类Exception类RuntimeExceptionIllegalAccessExceptionClassNotFoundExceptionAWTExceptionIOExceptionInterruptedExceptionSISEJava语言程序设计实用教程基本数据类型的包装类(P155,表7-4)在Java中类型分成两类:基本类型和引用类型。每个基本类型都有一个相应的位于java.lang包中的包装类。每个包装类使你能够像操作对象一样操作基本类型。基本类型boolean、char、byte、short、int、long、float和double对应的包装类:Boolean、Char、Byte、Short、Int、Long、Float和Double。每个包装类均声明为final,因此它们的方法隐式地为final方法,并且不能重载这些方法。许多处理基本类型的方法一般声明为类型包装类的静态方法。如果程序需要操作基本类型的值,可以通过类名来调用这些静态方法。SISEJava语言程序设计实用教程包装类的使用举例例如,以下代码是将一个字符串转变为一个double值:Stringstr=”28.8”;number1=Double.parseDouble(str);其中parseDouble为Double类型包装类的一个静态方法,我们直接通过类名.静态方法名来进行调用。将str这个参数中的字符串转变为Double型的数据。见P155例7-2SISEJava语言程序设计实用教程Java中的反射类和垃圾回收通过反射功能在运行时能够动态检查一个类的描述,包括类
本文标题:Java语言程序设计实用教程第七讲Java的基本类库
链接地址:https://www.777doc.com/doc-6222292 .html