sunjava培训教程中文版.pdf

上传人:赵** 文档编号:50069029 上传时间:2022-10-12 格式:PDF 页数:232 大小:1.38MB
返回 下载 相关 举报
sunjava培训教程中文版.pdf_第1页
第1页 / 共232页
sunjava培训教程中文版.pdf_第2页
第2页 / 共232页
点击查看更多>>
资源描述

《sunjava培训教程中文版.pdf》由会员分享,可在线阅读,更多相关《sunjava培训教程中文版.pdf(232页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、SUN 培训教程翻译稿 http:/ 倪明 第 1 页 2001-12-6 1关于本课程 本书的主要目标是为你提供有关Java应用和Java applets的面向对象的程序设计所必需的知识和技能;并讲授 Java 编程语言句法和面向对象的概念,以及 Java 运行环境的许多特性,对图形用户界面(GUIs)、多线程和网络的支持等。本课程包括了参加 SUN Certified Java Programmer 和 SUN Certified Java Developer考试所必备的知识。一、课程概述 课程概述 本课程主要包括以下内容:-Java 编程语言句法-应用于 Java 编程语言的面向对象的概

2、念-图形用户界面(GUI)编程-创建 Applet-多线程-网络 本课程首先讨论了 Java 运行环境和 Java 编程语言句法,然后阐述了应用于 Java 编程语言的面向对象的概念;随着课程的进展还将讨论有关 Java 平台的更先进的特性。本课程授课对象应具备运用 Java 编程语言或其它语言进行基本语言设计的能力,它是“非程序员 Java编程”(“Java Programming for NonProgrammers”,SL-110)课程的延续。尽管 Java 编程语言独立于操作系统,但它所产生的图形用户界面(GUI)却可能依赖于执行其代码的操作系统。本课程中的例题所使用的代码运行于 So

3、laris TM操作系统,因而本手册中的图形具备 Motif GUI。如果将这些代码运行于 Windows 95 操作系统,则可产生 Microsoft Windows 95 GUI。本课程的内容适用于所有 Java 操作系统端口。二、课程图 每一模块的课程都从一张课程图开始,使学员可掌握自己的学习进度。全课程设置流程图如下所示:The Java Programming Language BasicsGetting StartedGetting StartedIdentifiers,Keywords,and TypesIdentifiers,Keywords,and TypesExpressi

4、ons andFlow ControlExpressions andFlow ControlArraysArraysObject-Oriented ProgrammingObjectsand ClassesObjectsand ClassesAdvancedLanguage FeaturesAdvancedLanguage FeaturesException HandlingExceptionsExceptionsDeveloping Graphical User lnterfacesBuilding GUIsBuilding GUIsThe AWTEvent ModelThe AWTEven

5、t ModelThe AWTComponent LibraryThe AWTComponent LibraryJava FoundationClassesJava FoundationClassesAppletsIntroductionto Java AppletsIntroductionto Java AppletsMultithreadingThreadsThreadsCommunicationsStream I/Oand FilesStream I/Oand FilesNetworkingNetworkingSUN 培训教程翻译稿 http:/ 倪明 第 2 页 2001-12-6 2三

6、、各模块概述 各模块概述-模块 1起步-模块 2标识符、关键字和类型-模块 3表达式和流程控制-模块 4数组-模块 5对象和类-模块 6高级语言特性-模块 7异常-模块 8建立 GUIs-模块 9AWT 事件模型-模块 10AWT 组件库-模块 11Java 基础类-模块 12Java Applets 介绍-模块 13线程-模块 14流式 I/O 和文件-模块 15网络 -模块 1起步 本模块概述了 Java 编程语言的主要特性及 Java 应用程序,阐述了类和包的概念,并介绍了一些常用 Java包。-模块 2标识符、关键字和类型 Java 编程语言与 C 语言类似,具有许多编程构造。本模块对

7、这些构造作了一般介绍并讲授了每一构造所要求的一般句法。此外,还介绍了采用集合数据类型进行数据关联的面向对象的方法。-模块 3表达式和流程控制 本模块介绍了包括运算符和 Java 程序控制句法在内的表达式。-模块 4数组 本模块讲解了如何声明、创建、初始化和拷贝 Java 数组。-模块 5对象和类 本模块是在模块 2 的基础上,对 Java 对象的概念作了进一步的阐述,包括重载、覆盖、子类和构造函数。-模块 6高级语言特性 本模块是模块 5 的继续,它进一步讲解了 Java 面向对象的编程模块,包括一些新的 JDK1.1 特性降级和内部类。该模块还介绍了在 Java 开发包 JDKTM 1.2

8、中新增的收集的概念。-模块 7异常 本模块为Java程序员提供了一种在运行Java程序时俘获错误的机制,并阐述了预定义异常和用户定义异常。-模块 8建立 GUIs 在 Java 编程语言中,所有图形用户界面都是建立在框架和面板的概念之上。本模块介绍了布局管理和容器的概念。-模块 9AWT 事件模型 Java 编程语言 1.1 版的最重要的变化就是将事件送入和送出 Java 组件的方法的变化。本模块阐述了 JDK1.0和 1.1 的事件模型的区别,并演示了如何建立小型事件柄(compact event handler)的方法。-模块 10AWT 组件库 本模块介绍了用于建立 Java GUIs

9、的抽象窗口工具包(AWT)组件,并演示了 Java AWT 组件和 1.1 事件模型共同工作的方法。?模块 11Java 基础类介绍 本模块重点介绍了 JDK1.2 的一个重要特性Java 基础类(JFC),阐述了 Swing 组件和它们的可插入式外观及感觉的体系结构,并介绍了一例基本的 Swing应用及 JFC 的其它特点,例如在二维图形、存取性及SUN 培训教程翻译稿 http:/ 倪明 第 3 页 2001-12-6 3拖放(Drag and drop)等方面的应用。-模块 12Java Applets 介绍 本模块演示了 applet 和应用程序开发之间的区别,并介绍了 JDK 1.2

10、 的声音增强功能.-模块 13线程 线程是一个复杂的论题。本模块阐述了与 Java 编程语言相关的线程问题,并介绍了一个简单的线程通信和同步传输实例。-模块 14流式 I/O 和文件 本模块阐述了既可读写数据又可读写文本文件的类,并介绍了对象流的概念。-模块 15网络 本模块介绍了 Java 网络编程包并演示了传输控制协议/Internet 协议(TCP/IP)客户服务器模型。四、课程目标 完成本课程的学习后,你应该能够:-描述语言的主要特性-编译并运行 Java 应用程序-理解和使用在线超文本 Java 技术文件-描述语言句法元素和构造-理解面向对象的例子并使用该语言的面向对象特性-理解并使

11、用异常-开发图形用户界面-描述 Java 技术平台上的用于建立 GUIs 的抽象窗口工具包-从 GUI 输入-理解事件处理-描述 Swing的主要特性-开发 Java applets -读写文件和其它数据源-在不使用 GUI 的情况下,对所有数据源执行输入输出-理解多线程基础-开发多线程 Java 应用程序和 applets -使用 TCP/IP 和用户数据报协议(UDP)开发客户和服务器程序 五、从各模块中所获得的技能 下表的左侧显示有关的 Java 应用程序编程技能,右侧的黑格表示出讲解其左侧相应技能的有关模块,而灰格则表示简述其左侧相应技能的有关模块。Module Skills Gain

12、ed 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Describe Key language features Compile and run a Java application SUN 培训教程翻译稿 http:/ 倪明 第 4 页 2001-12-6 4Understand and use the online hypertext Java technology documentation Describe language syntactic elements and constructs Understand the object-oriented par

13、adigm and use object-oriented features Understand and use exceptions Develop a GUI Describe the Java technology platform s Abstract Window Toolkit from which GUIs are built Take input from a graphical user interface Understand event handling Describe the main features of Swing Develop Java applets U

14、nderstand the basics of multithreading Develop multithreaded Java applications and applets Perform I/O to all sources without the use of a GUI Read and write to files and other data sources Develop Java client and server programs using TCP/IP and UDP 六、课时安排 下表给出了大致的课程进度 Module Day Day Day Day Day 1

15、2 3 4 5 About This Course A.M.Module 1-Getting Started A.M.Module 2-Identifiers,Keywords,and Types A.M.SUN 培训教程翻译稿 http:/ 倪明 第 5 页 2001-12-6 5 Module 3-Expressions and Flow Control P.M.Module 4-Arrays P.M.Module 5-Objects and Classes A.M.Module 6-Advanced Language Features P.M.Module 7-Exceptions A.

16、M.Module 8-Building GUIs A.M.Module 9-The AWT Event Model P.M.Module 10-The AWT Component Library A.M.Module 11-Introduction to JFC A.M.Module 12-Introduction to Applets P.M.Module 13-Threads A.M.Module 14-Stream I/O and Files P.M.Module 15-Networking P.M.七、未包括的论题 未包括的论题-一般编程概念。本课程不是为从未参与过编程的人员而设置。-

17、一般面向对象概念。本课程未包括的论题见上表,由 SUN Educational Services(SES)提供的其它课程包括了上述论题。-面向对象的概念见 OO-100:面向对象的技术和概念-面向对象的设计和分析见 OO-120 面向对象的设计和分析-一般编程概念见 SL-110:非程序员 Java 编程 八、如何做好准备?如何做好准备?在学习本课程前,你应该已经完成了下列内容的学习:-SL-110 非程序员 Java 编程-用 C 或 C+创建编译程序-用文本编辑器创建并编辑文本文件-使用 World Wide Web(WWW)浏览器,如 Netscape NavigatorTM 在学习本课

18、程前,你应该已经完成了下列内容的学习:-SL-110 非程序员 Java 编程 或能够:-用 C 或 C+创建编译程序-用文本编辑器创建并编辑文本文件-使用 World Wide Web(WWW)浏览器,如 Netscape NavigatorTM 九、自我介绍:SUN 培训教程翻译稿 http:/ 倪明 第 6 页 2001-12-6 6自我介绍-姓名 -公司-职务、职责-编程经历-参与本课程学习的原因-对本课程的预期 现在你已经进入本课程的学习,请互相介绍并填写上面的表格。十、如何使用本教材 如何使用本教材-课程图-相关问题-页头图-教程-练习-检查你的进度-思考题 为使你学好本课程,本教

19、材采用了包括下列主要项目的授课模式:?课程图每一模块都从内容概述开始,这样你就可以了解该模块在实现整个课程目标中所起的作用。?相关问题每一模块的相关问题部分提供给你一些有关该模块的问题供学习者之间进行讨论,并鼓励你思考在 Java 应用程序编程过程中你的兴趣与该模块内容的关系?页头图页头图可帮助你及时而轻松的跟上教师的进度。它并不是在每一页都出现?教程教师将为你提供有关模块的特有信息,这些信息将有助于你掌握做练习所需要的知识和技能?练习练习将为你提供测试你的技能和应用所学概念的机会。本教程中所提供的例题代码亦有助于你完成练习。?检查你的进度在这一部分,模块的目标被重新提及,有时是以问题形式出现

20、。这样,在你进入下一模块之前,就可以检查你是否已完成了目前这一模块所要求达到的目标。?思考题具有挑战性的问题有助于你应用所学模块内容或预测待学模块的内容。十一、图表和印刷体例说明 下列图表及印刷体例代表着不同的含义:辅助资源表示可获取辅助参考资料。讨论表示此时建议以小组或班级形式进行讨论。练习目标表示练习的目标,这个练习适合于正在讨论的内容。注意附加重要信息、强调信息、有趣或特殊信息 警告对数据或机器的潜在损坏 SUN 培训教程翻译稿 http:/ 倪明 第 7 页 2001-12-6 7印刷体例 字体 Courier 系用来表示命令名称、文件名及目录名,同时也表示计算机屏幕输出。例如:Use

21、 ls al to all files.System%You have mail 黑体 courier bold 系用来表示你打印的字符和数字。例如:system%su Password:斜体 courier italic 系用来表示变量和命令行,它可以被实际名称或值所代替。例如:To delete a file,type rm filename.斜体 Palatino 系用来表示书名、新词或术语或需强调的词。例如:Read Chapter 6 in User s Guide.These are called class options You must be root to do this.

22、第一章 起 步 本模块对 Java 编程语言做了一般性描述,包括 Java 虚拟机、垃圾收集和安全性等。SUN 培训教程翻译稿 http:/ 倪明 第 8 页 2001-12-6 8第一节 相关问题 讨论下列问题与本模块相关-Java 编程语言是一种完整的语言吗?它是不是仅用于编写 Web 程序?-你为什么需要另一种编程语言?-Java 平台是如何在其它语言平台上提高性能的?第二节 目 标 完成本模块的学习后,你应该能够:-描述 Java 编程语言的主要特性-描述 Java 虚拟机的主要功能-描述垃圾收集是如何进行的-列举由处理代码安全性的 Java 平台所执行的三大任务-定义 Class,P

23、ackage,Applets 和 Applications-编写、编译并运行简单 Java 应用程序-利用 Java 技术应用程序编程界面(API)的在线文档来标识 Java.lang包的方法。参考资料 辅助资源下列参考资料可为本模块所讨论的问题提供更详细的补充-Lindholm and Yellin.1997.The Java Virtual Machine Specification.Addison-Wesley.-Yellin,Frank.Low-Level Security in Java,white paper.Online.Available:http:/ 什么是 J a v a编

24、程语言?什么是 Java 编程语言 Java 是:-一种编程语言-一种开发环境-一种应用环境-一种部署环境-句法与 C+相似,语义与 Small Talk 相似-用来开发 applets,又用来开发 applications Java 是:-一种编程语言-一种开发环境-一种应用环境-一种部署环境 Java 编程语言的句法与 C+的句法相似,语义则与 Small Talk TM的语义相似。Java 编程语言可被用来创建任何常规编程语言所能创建的应用程序。在 World Wide Web(WWW)和能够运行称为 applets 程序的浏览器的有关介绍中,人们经常提及Java 编程语言。Applet

25、s 是一种贮存于 WWW 服务器的用 Java 编程语言编写的程序,它通常由浏览器下载到客户系统中,并通过浏览器运行。Applets 通常较小,以减少下载时间,它由超文本标识语言(HTML)的 Web 页来调用。Java applications 是一种独立的程序,它不需要任何 Web 浏览器来执行。它们是一种典型的通用程序;可运行于任何具备 Java 运行环境的设备中。1.3.1 Java 编程语言的主要目标 SUN 培训教程翻译稿 http:/ 倪明 第 9 页 2001-12-6 9Java 编程语言的主要目标 提供一种解释环境为-提高开发速度-代码可移植性-使用户能运行不止一个活动线程

26、-当程序运行时,能动态支持程序改变 提供更好的安全性 设计 Java 编程语言的主要目标是 提供一种易于编程的语言,从而?消除其它语言在诸如指针运算和存储器管理方面影响健壮性的缺陷。?利用面向对象的概念使程序真正地成为可视化程序?为使代码尽可能清晰合理、简明流畅提供了一种方法 Java 编程语言的主要目标 设计 Java 编程语言的主要目标是 提供一种易于编程的语言-消除其它语言在诸如指针运算和存储器管理方面影响健壮性的缺陷。-利用面向对象的概念使程序真正地成为可视化程序-为使代码尽可能清晰合理、简明流畅提供了一种方法 Java 编程语言的主要目标(续)-为获得如下两点益处提供一种解释环境?提

27、高开发速度消除编译链接装载测试周期。?代码可移植性使操作系统能为运行环境做系统级调用-为运行不止一个活动线程的程序提供了一种方式-通过允许下载代码模块,从而当程序运行时也能动态支持程序改变。-为那些保证安全性而装载的代码模块提供了一种检查方法。Java 编程语言的主要目标 下列特性使这些目标付诸实现:-Java 虚拟机(JVM)-垃圾收集-代码安全性 Java 编程语言的主要目标(续)精心开发的 Java 技术体系结构为上述目标的实现提供了保证。Java 的如下特性使这些目标得以实现-Java 虚拟机-垃圾收集-代码安全性 1.3.2 Java 虚拟机 Java 虚拟机-提供硬件平台规范-解读

28、独立于平台的已编译的字节码-可当作软件或硬件来实现-可在 Java 技术开发工具或 Web 浏览器上实现 Java 虚拟机规范为 Java 虚拟机(JVM)作了如下定义:SUN 培训教程翻译稿 http:/ 倪明 第 10 页 2001-12-6 10在真实机器中用软件模拟实现的一种想象机器。Java 虚拟机代码被存储在.class 文件中;每个文件都包含最多一个 public 类。Java 虚拟机规范为不同的硬件平台提供了一种编译 Java 技术代码的规范,该规范使 Java 软件独立于平台,因为编译是针对作为虚拟机的“一般机器”而做,这个“一般机器”可用软件模拟并运行于各种现存的计算机系统

29、,也可用硬件来实现。Java 虚拟机 JVM 为下列各项做出了定义-指令集(中央处理器CPU)-注册集-类文件格式-栈-垃圾收集堆-存储区 Java 虚拟机(续)编译器在获取 Java 应用程序的源代码后,将其生成字节码,它是为 JVM 生成的一种机器码指令。每个 Java 解释器,不管它是 Java 技术开发工具,还是可运行 applets 的 Web 浏览器,都可执行 JVM。JVM 为下列各项做出了定义-指令集(相当于中央处理器CPU)-注册集-类文件格式-栈-垃圾收集堆-存储区 Java 虚拟机-由保持适当类型约束的字节码形成代码-大部分类型检查在编译代码时完成-每个由 SUN TM批

30、准的 JVM 必须能够运行任何从属类文件 Java 虚拟机(续)JVM 的代码格式由紧缩有效的字节码构成。由 JVM 字节码编写的程序必须保持适当的类型约束。大部分类型检查是在编译时完成。任何从属的 Java 技术解释器必须能够运行任何含有类文件的程序,这些类文件应符合 Java 虚拟机规范中所指定的类文件格式。1.3.3 垃圾收集 许多编程语言都允许在程序运行时动态分配存储器,分配存储器的过程由于语言句法不同而有所变化,但总是要将指针返回到存储区的起始位置 当分配存储器不再需要时(存储器指针已溢出范围),程序或运行环境应取消分配存储器。在 C,C+或其它语言中,程序员负责取消分配存储器。有时

31、,这是一件很困难的事情。因为你并不总是事先知道存储器应在何时被释放。当在系统中没有能够被分配的存储器时,可导致程序瘫痪,这种程垃圾收集-不再需要的分配存储器应取消分配-在其它语言中,取消分配是程序员的责任-Java 编程语言提供了一种系统级线程以跟踪存储区分配-垃圾收集-可检查和释放不再需要的存储器-可自动完成上述工作-可在 JVM 实现周期中,产生意想不到的变化 SUN 培训教程翻译稿 http:/ 倪明 第 11 页 2001-12-6 11序被称作具有存储器漏洞。Java 编程语言解除了程序员取消分配存储器的责任,它可提供一种系统级线程以跟踪每一存储器的分配情况。在 Java 虚拟机的空

32、闲周期,垃圾收集线程检查并释放那些可被释放的存储器。垃圾收集在 Java 技术程序的生命周期中自动进行,它解除了取消分配存储器的要求,并避免了存储器漏洞。然而,垃圾收集可在 JVM 实现的周期中,产生意想不到的变化。1.3.4 代码的安全性 概述 下图显示了 Java 技术的运行环境及其加强代码安全性的方法。Java 源程序文件通过“编译”,在你的感觉中,就好象是将它们从程序员编写的文本文件格式转换成了一组字节码。字节码被存储在.class 文件中。构成 Java 软件程序的字节码在运行时被加载、校验并在解释器中运行。当运行 applets 时,字节码可被下载,然后由建于浏览器中的 JVM 进

33、行解释。解释器具备两种功能,一是执行字节码,二是对底层硬件做适当调用。在一些使用 Java 技术的运行环境中,部分校验过的字节码被编译成原始机器码并直接运行于硬件平台。这就使 Java 软件代码能够以C 或 C+接近的速度运行,只是在加载时,因为要编译成原始机器码而略有延迟。注意S U N M i c r o s y s t e m sT M通过采用新的技术,使 J a v a 虚拟机的性能已经有了进一步的提高。这种新型虚拟机被称为 H o t S p o tT M虚拟机,它具备了使 J a v a 编程语言能象编译 C+一样快速运行的潜力。H o t S p o t虚拟机对操作系统具有本地多

34、线程支持能力,而不是虚拟多线程。因而,H o t S p o t虚拟机可保证对一个应用程序来说,并不一定有代码才能使用这一能力。H o t S p o t 技术解决了性能与移植性之间的难题。代码安全性(续)Java 运行环境 执行三大任务-加载代码-校验代码-执行代码 SUN 培训教程翻译稿 http:/ 倪明 第 12 页 2001-12-6 12 Java 运行环境 一个 Java 技术的运行环境可运行为 JVM 编译的代码并执行如下三大任务:-加载代码由类加载器执行-校验代码由字节码校验器执行-执行代码由运行时的解释器执行 类加载器 类加载器为程序的执行加载所需要的全部类。类加载器将局部

35、文件系统的类名空间与来自网络源的类名空间相分离,以增加安全性。由于局部类总是首先加载,因而可限制任何“特洛依木马”的应用。当全部类被加载后,可执行文件的存储器格式被确定。这时,特定的存储器地址被分配给符号引用并创建检索表格。由于存储器格式在运行时出现,因而 Java 技术解释器增加了保护以防止对限制代码区的非法进入。代码安全性(续)字节码校验器 Java 软件代码在实际运行之前要经过几次测试。JVM 将代码输入一个字节码校验器以测试代码段格式并进行规则检查检查伪造指针、违反对象访问权限或试图改变对象类型的非法代码。注意-所有源于网络的类文件都要经过字节码校验器 代码安全性(续)校验过程 字节码

36、校验器对程序代码进行四遍校验,这可以保证代码符合 JVM 规范并且不破坏系统的完整性。如果校验器在完成四遍校验后未返回出错信息,则下列各点可被保证:-类符合 JVM 规范的类文件格式-无访问限制违例-代码未引起操作数栈上溢或下溢-所有操作代码的参数类型将总是正确的-无非法数据转换发生,如将整数转换为对象引用-对象域访问是合法的 第四节 一个基本的 J a v a应用程序 象其它编程语言一样,Java 编程语言也被用来创建应用程序。一个共同的小应用程序范例是在屏幕上显示字串“Hello World!”。下列代码给出了这个 Java 应用程序。1.4.1 HelloWorldApp 1./2./S

37、ample HelloWorld application 3./字节码校验 可保证-代码符合 JVM 规范-代码不破坏系统完整性-代码不会引起操作数栈上溢或下溢-所有操作代码的参数类型的准确性-无非法数据转换(整数到指针的转换)SUN 培训教程翻译稿 http:/ 倪明 第 13 页 2001-12-6 13 4.public class HelloWorldApp 5.public static void main(String args)6.System.out.println(Hello World!);7.8.以上程序行是在你的屏幕上打印“Hello World!”所需的最少组件。1.

38、4.2 描述 HelloWorldApp 第 1-3 行 程序中的 1-3 行是注释行 1/2/Sample HelloWorld application 3/第 4 行 第 4 行声明类名为 HelloWorldApp。类名(Classname)是在源文件中指明的,它可在与源代码相同的目录上创建一个 classname class 文件。在本例题中,编译器创建了一个称为 HelloWorldApp.class 的文件,它包含了公共类 HelloWorldApp 的编译代码。4 public class HelloWorldApp 第 5 行 第 5 行是程序执行的起始点。Java 技术解释器

39、必须发现这一严格定义的点,否则将拒绝运行程序。其它程序语言(特别是 C 和 C+)也采用 main()声明作为程序执行的起始点。此声明的不同部分将在本课程的后几部分介绍。如果在程序的命令行中给出了任何自变量,它们将被传递给 main()方法中被称作 args 的 String数组。在本例题中,未使用自变量。5 public static void main(String args)-public方法 main()可被任何程序访问,包括 Java 技术解释器。-static 是一个告知编译器 main()是用于类 HelloWorldApp 中的函数的关键字。为使 main()在程序做其它事之前

40、就开始运行,这一关键字是必要的。-void 表明 main()不返回任何信息。这一点是重要的,因为 Java 编程语言要进行谨慎的类型检查,包括检查调用的方法确实返回了这些方法所声明的类型。-String args 是一个 String数组的声明,它将包含位于类名之后的命令行中的自变量。java HelloWorldApp args0args1 第 6 行 第 6 行声明如何使用类名、对象名和方法调用。它使用由 System 类的 out 成员引用的 PrintStreamout对象的 println()方法,将字串“Hello World!”打印到标准输出上。6 System.out.pri

41、ntln(“Hello World!”);在这个例子中,println()方法被输入了一个字串自变量并将其写在了标准输出流上。第 7-8 行 本程序的 7-8 行分别是方法 main()和类 HelloWorldApp 的下括号。7 8 1.4.3 编译并运行 HelloWorldApp 编译并运行 HelloWorldApp-编译 HelloWorldApp.java javac HelloworldApp.java-运行应用程序 java HelloWorldApp-判定编译和运行的共同错误 SUN 培训教程翻译稿 http:/ 倪明 第 14 页 2001-12-6 14编译 当你创建了

42、 HelloWorldApp.java 源文件后,用下列程序行进行编译:c:studentjavac HelloWorldApp.java 如果编译器未返回任何提示信息,新文件 HelloWorldApp.class 则被存储在与源文件相同的目录中,除非另有指定。如果在编译中遇到问题,请参阅本模块的查错提示信息部分。运行 为运行你的 HelloWorldApp 应用程序,需使用 Java 解释器和位于 bin 目录下的 java:c:student java HelloWorldApp Hello World!注意必须设置 P A T H 环境变量以发现 j a v a 和 j a v a c

43、,确认它包括 c:j d k 1.2 b i n 1.4.4 编译查错 编译时的错误 以下是编译时的常见错误-javac:Command not found PATH 变量未正确设置以包括 javac 编译器。javac 编译器位于 JDK 目录下的 bin 目录。-HelloWorldApp.java:6:Method printl(java.lang.String)not found in class java.io.PrintStream.System.out.printl(Hello World!);方法名 println 出现打印错误。-In class HelloWorldApp:

44、main must be public or static 该错误的出现是因为词 static 或 public 被放在了包含 main 方法的行之外。运行时的错误-cant find class HelloWorldApp (这个错误是在打印 java HelloWorldApp 时产生的)通常,它表示在命令行中所指定的类名的拼写与 filename.class 文件的拼写不同。Java 编程语言是一种大小写区别对待的语言。例如:public class HelloWorldapp 创建了一个 HellloWorldapp.class,它不是编译器所预期的类名(HelloWorldApp.c

45、lass)。-命名 如果java 文件包括一个公共类,那么它必须使用与那个公共类相同的文件名。例如在前例中的类的定义是 public class HelloWorldapp 源文件名则必须是 HelloWorldapp.java-类计数 在源文件中每次只能定义一个公共类。源文件布局 源文件布局 包含三个“顶级”要素-一个可选择的包声明-任意数量的输入语句-类和界面声明 一个 Java 源文件可包含三个“顶级”要素:-一个包声明(可选)-任意数量的输入语句 SUN 培训教程翻译稿 http:/ 倪明 第 15 页 2001-12-6 15-类和界面声明 该三要素必须以上述顺序出现。即,任何输入语

46、句出现在所有类定义之前;如果使用包声明,则包声明必须出现在类和输入语句之前。第五节 类和包介绍 类和包介绍 1.什么是类和包?2.Java 类库中的几个重要包 java.lang java.awt java.applet java.io java.util 类是描述提供某种功能的模块的一般术语。Java 开发集(JDK)给出了一套标准的类(称作类库),这些类可执行大部分所需的基本行为 不仅为编程任务(例如,类可提供基本的数学函数、数组和字符串),而且为图形和网络。类库被组织成许多包,每个包都包含几个类。如下所列为一些重要的包:java.lang包含一些形成语言核心的类,如 String、Mat

47、h、Integer 和 Thread。java.awt 包含了构成抽象窗口工具包(AWT)的类,这个包被用来构建和管理应用程序的图形用户界面。java.applet 包含了可执行 applet 特殊行为的类。 包含执行与网络相关的操作的类和处理接口及统一资源定位器(URLs)的类。java.io 包含处理 I/O 文件的类。java.util 包含为任务设置的实用程序类,如随机数发生、定义系统特性和使用与日期日历相关的函数。第六节 使用 J a v a A P I文档 使用 Java API 文档 1.一组超文本标识语言(HTML)文件提供了有关 API 的信息 2.一个包包含了对所有类信息的

48、超链接 3.一个类文档包括类层次、一个类描述、一组成员变量和构造函数等 一组 HTML 文件以文档的形式提供了有关 API 的信息,这个文档的布局是等级制的,因而主页列出所有的包为超链接。如果选中了一个特殊包的热链接,作为那个包成员的类将被列出。从一个包页选中一个类的热链接将提交一页有关那个类的信息。图 1-1 显示了这样一个类文档 SUN 培训教程翻译稿 http:/ 倪明 第 16 页 2001-12-6 16 图 1-1 一个类文档的主要部分包括:-类层次-类和类的一般目的描述-成员变量列表-构造函数列表-方法列表-变量详细列表及目的和用途的描述-构造函数详细列表及描述-方法详细列表及描

49、述 练习:基本任务 练习目标在本练习里,你将利用 Java API 文档练习如何识别包、类和方法并练习标准输入输出方法。你还将编写、编译和运行两个简单的使用这些方法的应用程序。一、准备 理解本模块中提出的概念和术语对理解文件和运用文件信息编写程序至关重要。二、任务 1 级:阅读文件 1.你的老师将指导你如何启动 API 浏览器并打开 Java API 在线文档的索引页。2.找到 java.lang包 3.在此包中定义了那些类?在 System 类中有那些方法?System.out.println 方法是在什么包中定义的?什么是标准输入方法调用?2 级:创建一个 Java 应用程序 1.使用任意

50、文本编辑器,创建一个可打印你选定的字串的与 HelloWorldApp 类似的应用程序。2.编译程序并纠正错误。SUN 培训教程翻译稿 http:/ 倪明 第 17 页 2001-12-6 173.用解释器运行程序。3 级:使用标准输入和标准输出 编写一个称为 MyCat 的应用程序,它将从 stdin 中读出一行并将这一行写回到 stdout.无论 stdin 还是stdout 都在 java.lang.System 类中。三、检查你的进度 在进入下一模块之前,请确认你已经能够:-描述 Java 编程语言的主要特性-描述 JVM-描述垃圾收集是如何进行的-列出由处理代码安全性的 Java 平

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com