第01章Java概述用教案_第1页
第01章Java概述用教案_第2页
第01章Java概述用教案_第3页
第01章Java概述用教案_第4页
第01章Java概述用教案_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第01章章Java概述用教案概述用教案 1.1 了解了解Java 1.2 Java应用程序及其运行方式应用程序及其运行方式 1.3 Java开发运行环境开发运行环境1.1 了解Java1.1.1 Java的诞生和发展的诞生和发展1.1.2 Java语言的特点及优势语言的特点及优势1.1.3 Java的核心技术的核心技术1.1.1 Java的诞生和发展1.前身前身2.诞生诞生3.JDK版本版本4.三个平台三个平台J2ME(嵌入式平台)(嵌入式平台)J2SE(标准平台)(标准平台)J2EE(企业级平台)(企业级平台)1. 前身起源于嵌入式工程:起源于嵌入式工程:1991年,年,Sun公司启动了公

2、司启动了“Green”工工程以创建智能消费电子设备。用户只需要一个建立在标准基程以创建智能消费电子设备。用户只需要一个建立在标准基础之上的与硬件平台无关的一系列可选方案。础之上的与硬件平台无关的一系列可选方案。前身叫前身叫Oak,并基于,并基于C+。为了做到平台无关性,为了做到平台无关性,Gosling首先想到改写首先想到改写C+的编译器。的编译器。C+是无法满足需要的。而是无法满足需要的。而且在且在C+中有着巨大的安全隐患,例如指针的使用,没有数中有着巨大的安全隐患,例如指针的使用,没有数组越界的检查,缺乏自动的内存管理,过于灵活的数据类型组越界的检查,缺乏自动的内存管理,过于灵活的数据类型

3、转换等。于是他开始考虑开发一种新的面向对象语言,称为转换等。于是他开始考虑开发一种新的面向对象语言,称为“Oak”(注:(注:Oak是橡树的意思)。是橡树的意思)。 Oak程序可以在需要程序可以在需要时下载。时下载。 命名为命名为JAVA。后来由于商标的冲突,后来由于商标的冲突,Oak改为改为Java。Java取名于印尼的爪哇岛,该岛盛产咖啡,取名于印尼的爪哇岛,该岛盛产咖啡,Java是咖啡的俚语发是咖啡的俚语发音。音。2. 诞生1994年,年,Internet和和WWW服务在全球如火如荼的发展服务在全球如火如荼的发展起来,起来,Oak小组开始认识到它的可下载技术可以用到小组开始认识到它的可下

4、载技术可以用到Web上。上。 在当时,在当时,WWW服务还只是静态的,缺少交互性,而只是服务还只是静态的,缺少交互性,而只是一些静态的图象和文本。在一些静态的图象和文本。在Web页上也的确出现了一些诸页上也的确出现了一些诸如简单的绘画程序的如简单的绘画程序的CGI脚本,但实际上并没有交互性。脚本,但实际上并没有交互性。客户端的请求还要送回服务器,这样就给服务器增加了额客户端的请求还要送回服务器,这样就给服务器增加了额外的负担。如果程序能够下载并在能在客户端的浏览器上外的负担。如果程序能够下载并在能在客户端的浏览器上运行,那么服务器的负担就会减轻,从而能够提供更多的运行,那么服务器的负担就会减轻

5、,从而能够提供更多的文档服务。这种浏览器就是文档服务。这种浏览器就是Java小组当时要建立的浏览器。小组当时要建立的浏览器。1995年年5月,名为月,名为HotJava的浏览器发表后,引起了巨大的浏览器发表后,引起了巨大的轰动。的轰动。HotJava是第一个具有自动装载和运行是第一个具有自动装载和运行Java程序程序的浏览器。的浏览器。 3. JDK版本演化1995年,年,Sun公司发布了第一版的公司发布了第一版的Java开发工开发工具包(具包(Java Development Kit, JDK)。)。JDK提供提供Java运行环境。从最初的到最新的,其运行环境。从最初的到最新的,其中中199

6、8年发布的版是一个重要版本。年发布的版是一个重要版本。 Sun称之称之为为Java 2 SDK( Software Development Kit),此后的此后的Java就成为就成为Java 2.新版本的特性是使用类库新版本的特性是使用类库(class libraries)或应或应用程序接口用程序接口(Application Programming Interface, API)构建程序。构建程序。4. 三个平台1.J2SE(Java 2 Standard Edition) 桌面系统桌面系统2. J2ME (Java 2 Micro Edition) 智能卡、移动通讯、电视机顶盒智能卡、移动通

7、讯、电视机顶盒3. J2EE (Java 2 Enterprise Edition) 企业级应用平台,分布式企业软件组件与企业级应用平台,分布式企业软件组件与架构的规范,具有架构的规范,具有WEB性能。性能。1.What:java是什么及其特性是什么及其特性2.Why: 为什么要有三个平台为什么要有三个平台3.How:如何学好:如何学好java1.1.2 Java语言的特点及优势1.简单性简单性2.更强的面向对象更强的面向对象3.分布式与高效网络编程分布式与高效网络编程4.安全安全5.健壮健壮6.平台无关性和可移植性平台无关性和可移植性7.高性能高性能 8.多线程多线程 9.动态动态 n1.1

8、.2 1. 简单性 为了保证简单性,为了保证简单性,Java去掉了去掉了C+中中许多复杂的、冗余的、有二义性的概念,例许多复杂的、冗余的、有二义性的概念,例如操作符重载、多继承、数据类型自动转换如操作符重载、多继承、数据类型自动转换等。为了将程序员从复杂的内存管理的负担等。为了将程序员从复杂的内存管理的负担中解脱出来,同时也是为了减少错误,中解脱出来,同时也是为了减少错误,Java使用了自动内存垃圾收集机制,程序员只要使用了自动内存垃圾收集机制,程序员只要在需要的时候申请即可,不需要释放在需要的时候申请即可,不需要释放,而由而由Java自己来收集、释放内存中的无用的块。自己来收集、释放内存中的

9、无用的块。 2. 更强的面向对象 C+,Object Pascal等,实际上都等,实际上都是一种混合型的语言,即在过程式的语言中是一种混合型的语言,即在过程式的语言中加上面向对象的扩展。在加上面向对象的扩展。在Java中,几乎万中,几乎万物皆对象,就连一些基本数据类型,如整型、物皆对象,就连一些基本数据类型,如整型、字符型、浮点型等,在字符型、浮点型等,在Java中都可以作为中都可以作为对象处理。对象处理。Java的面向对象特性几乎可以的面向对象特性几乎可以与与Smalltalk媲美,但是其适用于分布式计媲美,但是其适用于分布式计算环境的特性却远远超过了算环境的特性却远远超过了Smalltal

10、k。 3. 分布式与高效网络编程 使用使用Java提供的提供的URL类,用户可以象类,用户可以象访问本地文件一样访问网络上的对象,使用访问本地文件一样访问网络上的对象,使用非常方便。在客户机非常方便。在客户机/服务器的模式下,服务器的模式下,Java还可以将运算从服务器端分散到客户还可以将运算从服务器端分散到客户端,提高系统的效率,避免了服务器的瓶颈端,提高系统的效率,避免了服务器的瓶颈制约。制约。Java的网络类库支持分布式的编程。的网络类库支持分布式的编程。Socket类提供可靠的流式网络的连接,支类提供可靠的流式网络的连接,支持持TCP/IP协议。通过编写协议句柄,程序协议。通过编写协议

11、句柄,程序员还可以扩充员还可以扩充Java支持的协议集合。支持的协议集合。 4. 安全 由于由于Java应用于网络程序的开发,因而安应用于网络程序的开发,因而安全性变的至关重要。因为全性变的至关重要。因为Java小程序需要下载到小程序需要下载到客户端解释执行,所以,如果没有安全控制,就客户端解释执行,所以,如果没有安全控制,就会给一些网络黑客以可乘之机,这对用户来说是会给一些网络黑客以可乘之机,这对用户来说是非常危险的。所幸的是,非常危险的。所幸的是,Java的安全机制可以有的安全机制可以有效的防止病毒程序的产生、下载程序对本地文件效的防止病毒程序的产生、下载程序对本地文件系统的破坏,以及网络

12、黑客窃取密码和入侵。系统的破坏,以及网络黑客窃取密码和入侵。 概括起来,概括起来,Java的安全机制主要有以下几种:的安全机制主要有以下几种: 4. 安全(cont.) Java的内存分配模式可以有效的防止有害代码的内存分配模式可以有效的防止有害代码的入侵。由于取消了指针,程序无法访问它不应的入侵。由于取消了指针,程序无法访问它不应该访问的内存。该访问的内存。Java的编译器不处理内存布局,运行时期的实际的编译器不处理内存布局,运行时期的实际内存布局无法从类的结构推知。内存布局无法从类的结构推知。字节码验证器(字节码验证器(ByteCode Verifier)可以防止)可以防止Java运行环境

13、装入有害的类文件。这样,敌人通运行环境装入有害的类文件。这样,敌人通过炮制字节码来入侵的办法就行不通了,任何字过炮制字节码来入侵的办法就行不通了,任何字节码都要通过字节码验证器来验明正身。节码都要通过字节码验证器来验明正身。 4. 安全(cont.)4. 浏览器限制小程序访问客户机的资源。浏览器限制小程序访问客户机的资源。小程序能够访问的客户机的资源比应用程小程序能够访问的客户机的资源比应用程序要少的多。浏览器有一个序要少的多。浏览器有一个SecurityManager(安全管理器)类的实(安全管理器)类的实例。安全管理器控制小程序对文件系统和例。安全管理器控制小程序对文件系统和网络的访问,它

14、不让小程序进行本地或远网络的访问,它不让小程序进行本地或远程访问。程访问。 4. 安全(cont.)Java类装入机制保证不会装入伪装类。有时,入类装入机制保证不会装入伪装类。有时,入侵者使用一种称为侵者使用一种称为“伪装伪装”的攻击方法。伪装就的攻击方法。伪装就是建立与标准类同名的类,希望能够冒名顶替。是建立与标准类同名的类,希望能够冒名顶替。而被伪装的类通常都是比较敏感的控制资源的类。而被伪装的类通常都是比较敏感的控制资源的类。而而Java的类装入机制能够防止假冒类的装入。当的类装入机制能够防止假冒类的装入。当需要装入标准类时,需要装入标准类时,Java首先搜索首先搜索Java运行系运行系

15、统自己的类定义集,如果没有,会按照统自己的类定义集,如果没有,会按照ClassPath指定的路径搜索本地机器中文件系统指定的路径搜索本地机器中文件系统的其他位置,如果还没有,才去搜索远程服务器。的其他位置,如果还没有,才去搜索远程服务器。 1.1.2 5. 健壮不支持指针。在不支持指针。在C+程序中,指针的错误使用通常的程序程序中,指针的错误使用通常的程序中中BUG的元凶。在的元凶。在Java中彻底去掉了指针,杜绝了内存的中彻底去掉了指针,杜绝了内存的非法访问,从而保证了程序的可靠性。非法访问,从而保证了程序的可靠性。强类型语言。强制数据类型定义的语言。也就是说,一旦强类型语言。强制数据类型定

16、义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。那么它就永远是这个数据类型了。 自动内存垃圾收集机制。自动内存垃圾收集机制。Java自动收集无用的内存单元,自动收集无用的内存单元,进而防止了由于内存泄漏导致的动态内存分配问题。进而防止了由于内存泄漏导致的动态内存分配问题。完善的异常处理机制,既简化了错误处理任务和恢复,也完善的异常处理机制,既简化了错误处理任务和恢复,也增加了程序的可读性。增加了程序的可读性。 6. 平台无关性和可移植性 因为因为Java最初是为对电子产品编程而最初是为对电

17、子产品编程而设计的,所以它具有完美的平台无关性。设计的,所以它具有完美的平台无关性。它使用一种与平台无关的代码它使用一种与平台无关的代码字节码,字节码,而不是通常的特定机器上的机器码,由平而不是通常的特定机器上的机器码,由平台上的台上的Java虚拟机中的虚拟机中的Java解释器解释执解释器解释执行。行。Java虚拟机是免费的,在许多平台上虚拟机是免费的,在许多平台上都有。都有。 6. 平台无关性和可移植性(cont.) Java使用两种方法使使用两种方法使Java的应用程序不依赖的应用程序不依赖与具体的系统:与具体的系统:1.采用基于国际标准的数据类型。采用基于国际标准的数据类型。Java的原

18、始数据的原始数据类型在任何机器上都是一样的,例如整型总是类型在任何机器上都是一样的,例如整型总是32位,长整型总是位,长整型总是64位等。在位等。在SPARC机上,机上,C+的的int是是64位的,而位的,而Intel 586机上的机上的C+的的int是是32位的。位的。 2.提供了一个用于访问底层操作系统功能的可扩展提供了一个用于访问底层操作系统功能的可扩展类库。类库。 1.1.2 7. 高性能 “鱼与熊掌不可兼得鱼与熊掌不可兼得”,通常,健壮性、,通常,健壮性、安全性、平台无关性、可移植性等方面的提安全性、平台无关性、可移植性等方面的提高总是要以牺牲性能为代价的。高总是要以牺牲性能为代价的

19、。Java也不也不例外,例外,Java的内存管理增加了运行时系统的内存管理增加了运行时系统的复杂性,因为的复杂性,因为Java运行时系统必须内嵌运行时系统必须内嵌一个内存管理模块;同样,一个内存管理模块;同样,Java程序的解程序的解释执行的效率也要低于直接执行编译后的源释执行的效率也要低于直接执行编译后的源码的效率。但是码的效率。但是Java采用了一些很好的措采用了一些很好的措施来弥补这些性能上的差距:施来弥补这些性能上的差距: 1.1.2 7. 高性能(cont.)生成高效的字节码。生成高效的字节码。Java字节码的设计充分考虑字节码的设计充分考虑了性能的因素,字节码的格式简单,解释器可以

20、了性能的因素,字节码的格式简单,解释器可以生成高效的机器码。生成高效的机器码。提供了即时编译和嵌入提供了即时编译和嵌入C代码的可选措施。即时编代码的可选措施。即时编译是指在运行时把字节码编译成机器码。译是指在运行时把字节码编译成机器码。支持多线程。支持多线程。Java提供了对多线程的语言级的接提供了对多线程的语言级的接口,而且口,而且Java环境本身就是多线程的。环境本身就是多线程的。1.1.2 8. 多线程 多线程技术可以提高程序执行的并多线程技术可以提高程序执行的并发度,提高图形用户界面的交互性能。发度,提高图形用户界面的交互性能。Java提供了语言内置的多线程控制,提供了语言内置的多线程

21、控制,简化了多线程应用程序的开发,还支简化了多线程应用程序的开发,还支持线程的同步控制。持线程的同步控制。 1.1.2 9. 动态 动态特性是面向对象特性的一个延伸,它使得程序能动态特性是面向对象特性的一个延伸,它使得程序能够适应不断变化的执行环境。够适应不断变化的执行环境。JavaJava的动态性主要表现在以的动态性主要表现在以下几个方面:下几个方面:JavaJava的类有运行时的表示,这样,即使在运行时刻,程序的类有运行时的表示,这样,即使在运行时刻,程序也能辨别类之间的关系和类型信息,可以动态的从本地或也能辨别类之间的关系和类型信息,可以动态的从本地或网上把一个类链接到运行系统中去。网上

22、把一个类链接到运行系统中去。后期联编。后期联编。JavaJava的类在运行过程中动态的装载,因此,的类在运行过程中动态的装载,因此,JavaJava可以在分布式的环境中动态的维护应用程序和可以在分布式的环境中动态的维护应用程序和JavaJava类类库之间的一致性。当类库升级后,应用程序无需重新编译,库之间的一致性。当类库升级后,应用程序无需重新编译,也一样可以利用新类库中新增的功能。也一样可以利用新类库中新增的功能。支持动态数据类型和动态协议。通过编写协议句柄,支持动态数据类型和动态协议。通过编写协议句柄,JavaJava可以支持新的、自定义的传输协议,编写内容句柄,可以可以支持新的、自定义的

23、传输协议,编写内容句柄,可以支持新的数据类型。支持新的数据类型。1.1.3 Java的核心技术1.JDBC2.Java Servlet和和JSP3.JavaBeans和和EJB4.JavaMail1.1.3 JDBCJDBC( Java DataBase Connectivity)定义定义Java应用程序与应用程序与关系数据库连接的规范。关系数据库连接的规范。1.1.3 Java Servlet和JSPServlet是服务器端的是服务器端的Java应用程序,应用程序, Servlet全全部由部由Java写成,其功能是生成动态的写成,其功能是生成动态的HTML文档,文档,它扩展了它扩展了WEB服

24、务器的功能。当客户端发送请求服务器的功能。当客户端发送请求时,服务器端开始执行时,服务器端开始执行Servlet程序。程序。JSP是是Sun公司公司1999年推出的一种动态网页技术年推出的一种动态网页技术标准,是一种运行于标准,是一种运行于web服务器端的标记语言,服务器端的标记语言,它能够将它能够将java语言直接嵌入语言直接嵌入HTML文档中。文档中。JSP是是基于基于Java Servlet以及整个以及整个java体系的体系的Web开发开发技术,可以建立安全、先进、跨平台的动态网站。技术,可以建立安全、先进、跨平台的动态网站。1.1.3 Java Servlet和JSPJSP与与Micr

25、osoft的的ASP( Active Server Pages)技术类似,但采用的编程语言不同,技术类似,但采用的编程语言不同,ASP采用采用VBScript、JavaScript脚本语言,脚本语言,JSP采用采用java语言。语言。JSP功能更强,效率更功能更强,效率更高,具有动态页面与静态页面分离、平台高,具有动态页面与静态页面分离、平台无关、编译后运行的特点。无关、编译后运行的特点。1.1.3 JavaBeans和EJBJavaBeans是是JAVA的对象组件技术,提的对象组件技术,提供组建复用的关键技术,类似于供组建复用的关键技术,类似于Windows的的ActiveX.在在JSP中可

26、以使用中可以使用JavaBeans。EJB( Enterprise JavaBeans)提供企业提供企业级的级的JavaBeans。1.1.3 JavaMailJavaMail提供提供Email 邮件服务的支持类库,不仅支持邮件服务的支持类库,不仅支持SMTP服务器,也支持服务器,也支持IMAP服务器。服务器。IMAP(InternetMessageAccessPotocol)是一种用于邮是一种用于邮箱访问的协议,使用箱访问的协议,使用IMAP协议可以在协议可以在Client端管理端管理Server上的邮箱,它与上的邮箱,它与pop不同,邮件是保留在服务器上而不是不同,邮件是保留在服务器上而不

27、是download到本地,在这一点上到本地,在这一点上IMAP是与是与Webmail相似的。相似的。pop3协议是收邮件协议,协议是收邮件协议,smtp协议是发邮件协议。协议是发邮件协议。SMTP(Simple Mail Transfer Protocol)即简单邮件传输即简单邮件传输协议协议,它是一组用于由源地址到目的地址传送邮件的规则它是一组用于由源地址到目的地址传送邮件的规则,由由它来控制信件的中转方式。它来控制信件的中转方式。SMTP协议属于协议属于TCPIP协议族协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。它帮助每台计算机在发送或中转信件时找到下一个目的地。通过通过S

28、MTP协议所指定的服务器协议所指定的服务器,我们就可以把我们就可以把Email寄到寄到收信人的服务器上了收信人的服务器上了,整个过程只要几分钟。整个过程只要几分钟。SMTP服务器服务器则是遵循则是遵循SMTP协议的发送邮件服务器,用来发送或中转你协议的发送邮件服务器,用来发送或中转你发出的电子邮件。发出的电子邮件。 1.2 Java应用程序及其运行方式 Application和和Applet程序程序 Java的体系结构的体系结构1.2.1 Application和Applet程序1.Application【例例1.1】 显示字符串的显示字符串的Application

29、应用程序。应用程序。2.Applet【例例1.2】 显示字符串的显示字符串的Applet应用程序。应用程序。1.Why:为什么要分这两种程序为什么要分这两种程序2.What:3.How:1.2.2 Java的体系结构 传统的高级语言的编译过程传统的高级语言的编译过程1.2.2 Java的体系结构Java运行时环境(类装载器、字节码校验器、 类)Application应用程序Unix操作系统Java虚拟机(字节码解释器、Peer接口)Windows操作系统JIT(即时编译器)(可选)Applet应用程序 “一次编译,到处运行”的原理1.JVM虚拟机类似虚拟机类似Windows操作系统操作系统 2

30、.Java虚拟机可以是硬件虚拟机可以是硬件 ,也可以是软件也可以是软件 3.Java跨平台的原因跨平台的原因4.Java兼顾解释性与编译性语言的特点兼顾解释性与编译性语言的特点 虚拟机的原理是难点和重点虚拟机的原理是难点和重点1.Why:2.What:3.How:什么是平台无关性1.为一种平台编写的为一种平台编写的java程序不用修改就可程序不用修改就可以应用到其他的平台上。如以应用到其他的平台上。如unix, windows, linux等。等。Java是如何实现平台无关的呢?是如何实现平台无关的呢? 首先,编译器将源码转化成字节码首先,编译器将源码转化成字节码(.class),然后由,然后

31、由虚拟机将字节码解释执行。虚拟机是平台相关的,但虚拟机将字节码解释执行。虚拟机是平台相关的,但它非常小,容易编写。由于它非常小,容易编写。由于Java的强大,任何一个平的强大,任何一个平台都愿意支持它。都配置了虚拟机。这样,台都愿意支持它。都配置了虚拟机。这样,java就将就将原先整体的依赖平台的代码分成了两部分,其中转化原先整体的依赖平台的代码分成了两部分,其中转化字节码的工作量大,而第二部分即虚拟机解释执行部字节码的工作量大,而第二部分即虚拟机解释执行部分的工作量很小。虽然虚拟机依赖各个不同的平台,分的工作量很小。虽然虚拟机依赖各个不同的平台,但因工作量小,各种平台都很容易实现。于是但因工

32、作量小,各种平台都很容易实现。于是java就就利用这种方式,将大块的耗时耗力的依赖平台的工作利用这种方式,将大块的耗时耗力的依赖平台的工作,分成了大部分不依赖平台,小部分依赖平台,但容,分成了大部分不依赖平台,小部分依赖平台,但容易实现的方法实现了跨平台。易实现的方法实现了跨平台。在传统的高级语言中,编译器将程序直接编译成在传统的高级语言中,编译器将程序直接编译成所在机器的机器码,然后在相应的系统中运行。所在机器的机器码,然后在相应的系统中运行。由于每种机器的机器码各不相同,所以一种机器由于每种机器的机器码各不相同,所以一种机器上的机器码不能在另外一种机器上运行。上的机器码不能在另外一种机器上

33、运行。每一种平台的解释器是不同的,但是实现的虚拟每一种平台的解释器是不同的,但是实现的虚拟机是相同的。机是相同的。Java源程序经过源程序经过编译器编译器编译后变成编译后变成字节码,字节码由字节码,字节码由虚拟机虚拟机解释执行,虚拟机将每解释执行,虚拟机将每一条要执行的字节码送给一条要执行的字节码送给解释器解释器,解释器将其翻,解释器将其翻译成特定机器上的机器码,然后在特定的机器上译成特定机器上的机器码,然后在特定的机器上运行。运行。 为了在为了在WWW上运行上运行Java小程序,小程序,Java虚拟机嵌入在浏览器中。虚拟机嵌入在浏览器中。 1.3 Java开发运行环境 JDK的

34、安装与设置的安装与设置 运行运行Java程序程序 Eclipse简介简介1.3.1 JDK的安装与设置1.硬件配置要求硬件配置要求2.程序清单程序清单3.安装安装JDK4.设置环境变量设置环境变量Windows XP中设置环境变量中设置环境变量设置环境变量的批命令设置环境变量的批命令5.安装安装JDK帮助文档帮助文档1.3.1 JDK的安装与设置1.硬件配置要求硬件配置要求:硬件:硬件:CPU P以上,以上,64MB内存,内存,100MB硬盘硬盘软件:软件:Windows 98以上,以上。以上,以上。1.3.1 JDK的安装与设置1.安装机器要求安装机器要求2.程序

35、清单:安装版本,需要以下程序和文程序清单:安装版本,需要以下程序和文档档 ,JDK,帮助文档,帮助文档帮助文档一定要会查阅。帮助文档一定要会查阅。1.3.1 JDK的安装与设置1.安装机器要求安装机器要求2.程序清单程序清单3.安装安装JDK:默认安装:默认安装 JDK的目录结构如下:的目录结构如下: : 核心核心API所有类的源文件。所有类的源文件。必须会看必须会看 bin: 包含编译器、解释器等可执行文件。包含编译器、解释器等可执行文件。 demo: 包含源代码的程序示例。包含源代码的程序示例。 include: 编写编写JNDI等程序需要的等程序需要的C语言头文件。语言头文件。 jre:

36、 java 运行时环境。运行时环境。 lib: java类库。类库。1.Why: 必看必看2.What:3.How:1.3.1 JDK的安装与设置1.安装机器要求安装机器要求2.程序清单程序清单3.安装安装JDK4.设置环境变量设置环境变量Windows XP中设置环境变量中设置环境变量5.安装安装JDK帮助文档帮助文档1.Why: 2.What:java-doc3.How:1.Why: 2.What:环境变量:环境变量3.How:1.3.2 运行Java程序1.Java程序运行流程程序运行流程超文本中的字节码文件由Windows中的Java虚拟机解释执行Applet应用程序编译Java源程序

37、(*.java)字节码文件(*.class)运行Windows操作系统Java编译器javac.exeJava解释器java.exe下载Windows操作系统运行Java虚拟机嵌入Web浏览器超文本(*.html)Application应用程序1.3.2 运行Java程序JDK提供的编译与运行命令提供的编译与运行命令编译编译运行运行Application应用程序应用程序运行运行Applet应用程序应用程序1.4 包1.4.1 包的包的1.4.2 创建、声明和导入包创建、声明和导入包包的概念1.问题的提出问题的提出:程序运行中当一个类需要引用另一程序运行中当一个类需要引用另一个类时,个类时,Ja

38、va虚拟机默认在当前文件夹中寻找。虚拟机默认在当前文件夹中寻找。包也可以用来避免类重名。包也可以用来避免类重名。2.什么是包什么是包从逻辑概念看,包(从逻辑概念看,包(package)是类的集合,一个包)是类的集合,一个包中包含多个类;中包含多个类;从存储概念看,包是类的组织方式,一个包对应一个从存储概念看,包是类的组织方式,一个包对应一个文件夹,一个文件夹中包含多个字节码文件;文件夹,一个文件夹中包含多个字节码文件;包与类的关系,就像文件夹与文件的关系一样。包中包与类的关系,就像文件夹与文件的关系一样。包中还可以再有子包,称为包等级,子包对应一个子文件还可以再有子包,称为包等级,子包对应一个

39、子文件夹。夹。1.Why: 2.What:java-doc3.How:1.一个包中的多个类之间不能重名,不同包一个包中的多个类之间不能重名,不同包中的类则可以相同。中的类则可以相同。2.系统不会自动创建包对应的文件夹及其子系统不会自动创建包对应的文件夹及其子文件夹,必须由程序员自己创建。文件夹,必须由程序员自己创建。创建、声明和导入包设置环境变量设置环境变量set classpath=.;C:Program FilesJavajdk1.5.0lib;C:javacode声明类所在的包声明类所在的包package 包包1.包包2;例如,例如,package mypackage; /声明所在的包声

40、明所在的包public interface PlaneGraphics2引用包中的类引用包中的类包包1.包包2.类类|接口接口创建、声明和导入包导入包导入包import 包包1.包包2.类类|接口接口|*;import mypackage.PlaneGraphics2;默认包路径:当前文件夹默认包路径:当前文件夹 包之间类及类中成员的访问权限包之间类及类中成员的访问权限包中非内部的类或接口只有包中非内部的类或接口只有2种访问权限:种访问权限:public和缺省。和缺省。在类中成员的在类中成员的4种访问权限中,种访问权限中,public和和private权权限与包无关,而限与包无关,而protected和缺省权限与包有关。和缺省权限与包有关。创建、声明和导入包Java源程序结构源程序结构package /声明包,声明包,01句句import /导入包,导入包,0多句多句public class 或或interface /声明公有类或接口,声明公有类或接口,01句,文件名与该名相同句,文件名与该名相同class/声明默认类,声明默认类,0多句多句interface/声明接口,声明接口,0多句多句包

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论