SUN培训教程-翻译稿关于本课程本书的主要目标是为你提供有关Java应用和Javaapplets的面向对象的程序设计所必需的知识和技能;并讲授Java编程语言句法和面向对象的概念,以及Java运行环境的许多特性,对图形用户界面(GUIs)、多线程和网络的支持等。本课程包括了参加SUNCertifiedJavaProgrammer和SUNCertifiedJavaDeveloper考试所必备的知识。一、课程概述课程概述本课程主要包括以下内容:-----Java编程语言句法应用于Java编程语言的面向对象的概念图形用户界面(GUI)编程创建Applet多线程网络本课程首先讨论了Java运行环境和Java编程语言句法,然后阐述了应用于Java编程语言的面向对象的概念;随着课程的进展还将讨论有关Java平台的更先进的特性。本课程授课对象应具备运用Java编程语言或其它语言进行基本语言设计的能力,它是“非程序员Java编程”(“JavaProgrammingforNon—Programmers”,SL-110)课程的延续。尽管Java编程语言独立于操作系统,但它所产生的图形用户界面(GUI)却可能依赖于执行其代码的操作系统。本课程中的例题所使用的代码运行于SolarisTM操作系统,因而本手册中的图形具备MotifGUI。如果将这些代码运行于Windows95操作系统,则可产生MicrosoftWindows95GUI。本课程的内容适用于所有Java操作系统端口。二、课程图每一模块的课程都从一张课程图开始,使学员可掌握自己的学习进度。全课程设置流程图如下所示:倪明第11页SUN培训教程-翻译稿三、各模块概述各模块概述--------------模块1──起步模块2──标识符、关键字和类型模块3──表达式和流程控制模块4──数组模块5──对象和类模块6──高级语言特性模块7──异常模块8──建立GUIs模块9──AWT事件模型模块10──AWT组件库模块11──Java基础类模块12──JavaApplets介绍模块13──线程模块14──流式I/O和文件模块15──网络模块1──起步本模块概述了Java编程语言的主要特性及Java应用程序,阐述了类和包的概念,并介绍了一些常用Java包。-模块2──标识符、关键字和类型Java编程语言与C语言类似,具有许多编程构造。本模块对这些构造作了一般介绍并讲授了每一构造所要求的一般句法。此外,还介绍了采用集合数据类型进行数据关联的面向对象的方法。---模块3──表达式和流程控制模块4──数组模块5──对象和类模块6──高级语言特性本模块介绍了包括运算符和Java程序控制句法在内的表达式。本模块讲解了如何声明、创建、初始化和拷贝Java数组。本模块是在模块2的基础上,对Java对象的概念作了进一步的阐述,包括重载、覆盖、子类和构造函数。本模块是模块5的继续,它进一步讲解了Java面向对象的编程模块,包括一些新的JDK1.1特性──降级和内部类。该模块还介绍了在Java开发包JDKTM1.2中新增的收集的概念。-模块7──异常模块8──建立本模块为Java程序员提供了一种在运行Java程序时俘获错误的机制,并阐述了预定义异常和用户定义异常。在Java编程语言中,所有图形用户界面都是建立在框架和面板的概念之上。本模块介绍了布局管理和容器的概念。-模块9──AWT事件模型Java编程语言1.1版的最重要的变化就是将事件送入和送出Java组件的方法的变化。本模块阐述了JDK1.0和1.1的事件模型的区别,并演示了如何建立小型事件柄(compacteventhandler)的方法。-模块10──AWT组件库本模块介绍了用于建立JavaGUIs的抽象窗口工具包(AWT)组件,并演示了JavaAWT组件和1.1事件模型共同工作的方法。l模块11──Java基础类介绍本模块重点介绍了JDK1.2的一个重要特性──Java基础类(JFC),阐述了Swing组件和它们的可插入式外观及感觉的体系结构,并介绍了一例基本的Swing应用及JFC的其它特点,例如在二维图形、存取性及倪明第22页SUN培训教程-翻译稿拖放(Draganddrop)等方面的应用。-模块12──JavaApplets介绍模块13──线程本模块演示了applet和应用程序开发之间的区别,并介绍了JDK1.2的声音增强功能线程是一个复杂的论题。本模块阐述了与Java编程语言相关的线程问题,并介绍了一个简单的线程通信和同步传输实例。-模块14──流式I/O和文件模块15──网络本模块阐述了既可读写数据又可读写文本文件的类,并介绍了对象流的概念。本模块介绍了Java网络编程包并演示了传输控制协议/Internet协议(TCP/IP)客户──服务器模型。四、课程目标完成本课程的学习后,你应该能够:----------------描述语言的主要特性编译并运行Java应用程序理解和使用在线超文本Java技术文件描述语言句法元素和构造理解面向对象的例子并使用该语言的面向对象特性理解并使用异常开发图形用户界面描述Java技术平台上的用于建立GUIs的抽象窗口工具包从GUI输入理解事件处理描述Swing的主要特性开发Javaapplets读写文件和其它数据源在不使用GUI的情况下,对所有数据源执行输入输出理解多线程基础开发多线程Java应用程序和applets使用TCP/IP和用户数据报协议(UDP)开发客户和服务器程序五、从各模块中所获得的技能下表的左侧显示有关的Java应用程序编程技能,右侧的黑格表示出讲解其左侧相应技能的有关模块,而灰格则表示简述其左侧相应技能的有关模块。倪明第33页SUN培训教程-翻译稿下表给出了大致的课程进度ModuleDayDayDayDayDayAboutThisCourseA.M.Module1-GettingStartedA.M.Module2-Identifiers,Keywords,andTypesA.M.倪明第44页SUN培训教程-翻译稿Module3-ExpressionsandFlowControlP.M.Module4-ArraysP.M.Module5-ObjectsandClassesA.M.Module7-ExceptionsA.M.Module8-BuildingGUIsA.M.Module9-TheAWTEventModelP.M.Module10-TheAWTComponentLibraryA.M.Module11-IntroductiontoJFCA.M.Module13-ThreadsA.M.Module14-StreamI/OandFilesP.M.七、未包括的论题未包括的论题-一般编程概念。本课程不是为从未参与过编程的人员而设置。一般面向对象概念。本课程未包括的论题见上表,由SUNEducationalServices(SES)提供的其它课程包括了上述论题。--面向对象的概念──见OO-100:面向对象的技术和概念面向对象的设计和分析──见OO-120面向对象的设计和分析一般编程概念──见SL-110:非程序员Java编程八、如何做好准备?如何做好准备?在学习本课程前,你应该已经完成了下列内容的学习:---SL-110非程序员Java编程用C或C++创建编译程序用文本编辑器创建并编辑文本文件使用WorldWideWeb()浏览器,如NetscapeNavigatorTM在学习本课程前,你应该已经完成了下列内容的学习:---SL-110非程序员Java编程用C或C++创建编译程序用文本编辑器创建并编辑文本文件使用WorldWideWeb()浏览器,如NetscapeNavigatorTM或能够:九、自我介绍:倪明第55页SUN培训教程-翻译稿自我介绍-----姓名公司职务、职责编程经历参与本课程学习的原因对本课程的预期现在你已经进入本课程的学习,请互相介绍并填写上面的表格。十、如何使用本教材如何使用本教材------课程图相关问题页头图教程练习检查你的进度思考题为使你学好本课程,本教材采用了包括下列主要项目的授课模式:l用。l励你思考在Java应用程序编程过程中你的兴趣与该模块内容的关系l页头图──页头图可帮助你及时而轻松的跟上教师的进度。它并不是在每一页都出现l教程──教师将为你提供有关模块的特有信息,这些信息将有助于你掌握做练习所需要的知识和技能l你完成练习。l一模块之前,就可以检查你是否已完成了目前这一模块所要求达到的目标。l思考题──具有挑战性的问题有助于你应用所学模块内容或预测待学模块的内容。十一、图表和印刷体例说明下列图表及印刷体例代表着不同的含义:辅助资源──表示可获取辅助参考资料。讨论──表示此时建议以小组或班级形式进行讨论。练习目标──表示练习的目标,这个练习适合于正在讨论的内容。注意──附加重要信息、强调信息、有趣或特殊信息警告──对数据或机器的潜在损坏倪明第66页SUN培训教程-翻译稿印刷体例字体Courier系用来表示命令名称、文件名及目录名,同时也表示计算机屏幕输出。例如:Usels–altoallfiles.黑体courierbold系用来表示你打印的字符和数字。例如:system%su斜体courieritalic系用来表示变量和命令行,它可以被实际名称或值所代替。例如:Todeleteafile,typermfilename.斜体Palatino系用来表示书名、新词或术语或需强调的词。例如:ReadChapter6inUser’sGuide.ThesearecalledclassoptionsYoumust起步本模块对Java编程语言做了一般性描述,包括Java虚拟机、垃圾收集和安全性等。倪明第77页SUN培训教程-翻译稿讨论──下列问题与本模块相关相关问题--Java编程语言是一种完整的语言吗?它是不是仅用于编写Web程序?你为什么需要另一种编程语言?Java平台是如何在其它语言平台上提高性能的?完成本模块的学习后,你应该能够:目标------描述Java编程语言的主要特性描述Java虚拟机的主要功能描述垃圾收集是如何进行的列举由处理代码安全性的Java平台所执行的三大任务定义Class,Package,Applets和Applications编写、编译并运行简单Java应用程序利用Java技术应用程序编程界面(API)的在线文档来标识Java.lang包的方法。参考资料辅助资源──下列参考资料可为本模块所讨论的问题提供更详细的补充-LindholmandYellin.1997.TheJavaVirtualMachineSpecification.Addison-Wesley.第三节什么是Java什么是Java编程语言Java是:---------一种编程语言一种开发环境一种应用环境一种部署环境句法与C++相似,语义与SmallTalk相似用来开发applets,又用来开发applications一种编程语言一种开发环境一种应用环境一种部署环境Java是:Java编程语言的句法与C++的句法相似,语义则与SmallTalkTM的语义相似。Java编程语言可被用来创建任何常规编程语言所能创建的应用程序。在WorldWideWeb()和能够运行称为applets程序的浏览器的有关介绍中,人们经常提及Java编程语言。Applets是一种贮存于编程语言编写的程序,它通常由浏览器下载到客户系统中,并通过浏览器运行。Applets通常较小,以减少下载时间,它由超文本标识语言(HTML)的Web页来调用。Javaapplications是一种独立的程序,它不需要任何Web浏览器来执行。它们是一种典型的通用程序;可运行于任何具备Java运行环境的设备中。1.3.1Java倪明第88页SUN培训教程-翻译稿提供一种解释环境为Java编程语言的主要