Java程序设计案例教程-模块2.ppt_第1页
Java程序设计案例教程-模块2.ppt_第2页
Java程序设计案例教程-模块2.ppt_第3页
Java程序设计案例教程-模块2.ppt_第4页
Java程序设计案例教程-模块2.ppt_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

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

文档简介

1、,模块二 Java程序开发环境的选择与创建,目标 通过本模块的学习和实训,学生应该熟悉Java语言平台和虚拟机的功能特点、Java语言的面向对象程序设计相关知识,掌握利用Java开发工具和Java考试平台进行简单应用程序的编写、编译和运行基本方法,为后续模块的案例教学奠定必要的理论基础和实战经验。,学习本模块涉及哪些重要内容?,本模块导读 Java语言是当今的热门话题。从桌面应用到Web开发、从嵌入式或移动设备到企业大型应用系统、从多媒体特效设计到电子商务平台建设、从跨平台的系统集成到云计算,处处都有Java的影子。这是因为,Java是简单、安全、开源、跨平台、分布式、高性能、多线程、可移植和

2、动态的面向对象程序设计语言,同时Java又具有成熟、高效的集成开发平台。 Java语言对整个信息产业产生了如此深远的影响,以致于计算机、信息技术相关专业的课程体系中Java都作为主干课程,是学生学习程序设计技术的必修课。 本模块主要介绍Java语言、平台及虚拟机的功能特点以及Java语言的面向对象程序设计思路。在此基础上,用简单的案例介绍Java开发工具包、NetBeans IDE中国教育考试版(2007)的安装与使用方法。通过案例,学习Java程序的书写规范和简单应用程序的编写、编译和运行的基本方法。 通过本模块的学习和实训,学生应该熟悉Java语言平台和虚拟机的功能特点、Java语言的面向

3、对象程序设计相关知识,掌握利用Java开发工具和Java考试平台进行简单应用程序的编写、编译和运行基本方法,为后续模块的案例教学奠定必要的理论基础和实战经验。,学习本模块涉及哪些重要内容?,本模块要点 熟悉Java语言、平台及虚拟机的功能特点及其发展方向 熟悉Java语言的面向对象程序设计思路 掌握JDK的安装与应用基本方法 掌握NetBeans IDE中国教育考试版(2007)的安装与使用方法 了解Java程序的书写规范、简单应用程序的编写/编译/运行方法,任务一认识Java语言,【案例】 Web刚开始出现之时,Internet上的信息内容都是一些乏味死板的HTML文档,这对于那些热衷于We

4、b浏览的用户来说简直不可容忍。Internet用户期盼着能在Web中看到一些交互式的内容,开发者也非常希望能够在Web上创建一个个无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极高的安全性。对于用户和开发者的这些要求,传统的编程语言显得无能为力。Sun的工程师敏锐地察觉到了这一点,从1994年开始将Oak技术应用于Web上,并且开发出了HotJava的第一个版本。当Sun公司1995年正式以Java这个名字推出的时候,几乎所有的Web开发人员都心生感叹:噢,这正是我想要的!于是Java成了一颗耀眼的明星。,任务一认识Java语言,知识导读 在Java出现以前,早期的软件开发者多数以

5、C+作为程序设计开发环境。作为C+语言中运行效率高、功能强大的指针运算、内存分配与回收能力曾被推崇多年。但是,在网络环境下,指针运算、内存回收成为程序开发者面前的地雷阵,随时可能触发程序运行错误甚至导致系统崩溃。而且C+还包含了很多易于引起歧义的语法,令众多的新手望而却步,任务一认识Java语言,子任务1 理解为什么选用Java Java,Java! Java是由Sun公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了W

6、eb的迅速发展,常用的浏览器现在均支持Java Applet。另一方面,Java技术也在不断地更新之中。 Java的诞生及版本演变,任务一认识Java语言,子任务1 理解为什么选用Java 1991年,Sun公司的Jame Gosling、Bill Joe等人组成的开发小组为电视机、控制烤面包机等消费类电子产品的交互操作开发了一个Oak(一种橡树的名字)软件,最初的目的只是为了开发一种独立于平台的软件技术。当时的Oak并没有引起人们的注意,直到1994年,随着Internet和Web的飞速发展,开发小组用Oak编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支

7、持,得以研发和发展。出于促销和法律等原因,1995年Oak需要更名,但小组提出了几个名字都没有通过。有一天,小组成员正在喝咖啡时又议论给新语言起个什么名字的问题,有位成员提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿,即中国古代称之为“爪哇国”的小岛),这个提议得到了其他成员的赞同,于是就采用Java来命名此新语言。很快Java被工业界认可,许多大公司如IBM、Microsoft、DEC等相继购买了Java的使用权,并被美国PC Magazine杂志评为1995年十大优秀科技产品。从此,开始了Java应用的新篇章。,任务一认识Java语言,子任务1 理解为什么选用Java 1991年目

8、前,人们已经看到了Java对信息时代的重要性。Java在未来社会生产生活各个领域的应用方面将会有更广阔的前景。这一点可以从Java的版本演变历程中得到印证: 1995年5月23日,Java语言诞生。 1996年1月,第一个JDK,即JDK1.0诞生;4月,全球10个最主要的操作系统供应商声明将在其产品中嵌入Java技术;9月,约8万多个网页采用Java技术实现。 1997年2月,JDK1.1发布;4月,JavaOne会议召开,参与者超过1万人,创当时全球同类会议规模之纪录;9月,JavaDeveloperConnection社区成员突破10万。 1998年2月,JDK1.1被下载超过2,000

9、,000次;12月,Java2企业平台J2EE发布。,任务一认识Java语言,子任务1 理解为什么选用Java 1999年6月,Sun公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)。 2000年5月,JDK1.3发布;5月,JDK1.4发布。 2001年6月,NOKIA宣布,到2003年将出售1亿部支持Java的手机;9月,J2EE1.3发布。 2002年2月,J2SE1.4发布,自此Java的计算能力有了大幅提升。 2004年9月,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.

10、0。 2005年6月,JavaOne大会召开,Sun公司公开Java SE 6.0。同时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。 2006年12月,Sun公司发布JRE6.0。 2009年04月,Oracle宣布收购Sun。,任务一认识Java语言,子任务1 理解为什么选用Java Java与Internet 早期的Web只能传送文本和图片,Java的出现实现了页面的交互,是一次伟大的革命,从而导致很多人误解为Java是专门用于编写Web交互式程序的语言。实际上,Java并不是为Intern

11、et、Web而设计的,也可以用来编写独立的应用程序。Java是一种类似于C+语言的面向对象语言,所以已经掌握C+语言的编程人员学习Java语言就容易得多。Java程序需要编译,如果它被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地客户机上,由浏览器解释运行。 Java程序及其浏览器HotJava,提供了可让用户的浏览器运行程序的方法。用户不仅能从浏览器里直接播放声音,还能播放页面里的动画,Java还能告诉用户的浏览器怎样处理新的文件类型。,任务一认识Java语言,子任务1 理解为什么选用Java Java与电子商务 电子商务是当今的热门话题,然而传统的编程语言难以

12、胜任电子商务系统,电子商务要求程序代码满足基本要求:安全、可靠、能够与运行在不同体系软硬件平台的全球业务伙伴开展网上业务。Java以其强安全性、平台无关性、硬件结构无关性、语言简洁并纯粹面向对象等特性,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。,任务一认识Java语言,子任务1 理解为什么选用Java 了解Java语言的特点 当1995年Sun推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢? Java是一种简单的、面向对象、分布式、解释型、健壮安全、平台无关、可移植的、性能优异、多线程的动态语言。 Java语言是简单易用的。

13、一方面,Java语言来源于C+,其语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java,即使是没有任何程序设计基础的初学者也比较容易理解Java语言的语法。另一方面,Java摒弃了C+中很少使用、很难理解且令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换等等。特别地,Java语言不使用指针,使得程序员不必为访问越界、内存管理而担忧。,任务一认识Java语言,子任务1 理解为什么选用Java Java语言是纯粹面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。Java语言全面支

14、持动态绑定,不同于C+语言的只对虚函数使用动态绑定机制。总之,Java语言是一个纯粹的面向对象程序设计语言。 Java语言是分布式的。Java语言支持Internet应用开发,在基本的Java应用编程接口中提供了网络应用编程接口(),包含网络应用编程的类库,如URL、URLConnection、Socket、ServerSocket等。Java的远程方法调用(RMI)机制也是开发分布式应用的重要手段。,任务一认识Java语言,子任务1 理解为什么选用Java Java语言是健壮的。Java的强制类型机制、异常处理、内存垃圾的自动收集等构成Java程序健壮性的重要保证;对指针的摒弃更是Java的

15、明智选择。另外,Java的安全检查机制在编译和运行程序时都要对可能出现的问题进行检查,以及异常处理机制使得Java能够消除错误的产生、防止系统的崩溃 Java语言是安全的。Java通常被用在网络环境中。为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制,如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制让Java应用设置安全哨兵。,任务一认识Java语言,子任务1 理解为什么选用Java Java语言是平台无关(体系结构中立)的。Java源程序(如,扩展名为.java的文件)在Jav

16、a平台上被编译为体系结构中立的字节码格式(即扩展名为.class的文件), 然后可以在实现这个Java平台的任何系统中运行,适合于异构的网络环境和软件的分发。 Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java运行环境的虚拟机是用ANSI C实现的,所以Java系统本身也有可移植性。 Java语言是解释型的。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在连接阶段被载入到运行环境中。,任务一认识Java语言,子任务1 理

17、解为什么选用Java Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。 Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制来保证了对共享数据的正确操作,易于实现网络上的实时交互行为。 Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升

18、级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。,任务一认识Java语言,子任务2 认识Java语言的影响和应用前景 知识导读 Java语言被美国的著名杂志PC Magazine评为1995年十大优秀科技产品,随之大量出现了用Java编写的软件产品,受到工业界的重视与好评,认为“Java是八十年代以来计算机界的一件大事”;Sun总裁ScottMcNealy认为Java为Internet和WWW开辟了一个崭新的时代;WWW的创始人Berners-Lee说:“计算机事业发展的下一个浪潮就是Java,并且将很快会发生的;Microsoft创始人Bill Gates说:“Jav

19、a是长时间以来最卓越的程序设计语言”,并确定Microsoft整个软件开发的战略从PC单机时代向着以网络为中心的计算时代转移,而购买Java则是Microsoft重大战略决策的实施部署。 1996年,在美国旧金山召开了一个全世界Java语言开发者大会JavaOneDeveloperConfe -rence,出席会议的多达6500多人,来自工业界的超过一半,有人评价说:“这是近年来计算机界最光辉的一次盛会”。一些工业界的老总们相当看好Java语言,认为它的使用将会引起一场软件革命,任务一认识Java语言,子任务2 认识Java语言的影响和应用前景 了解Java语言对软件开发技术的影响 Java语

20、言推出时,软件业界不少人预言:“Java语言的出现,将会使软件的设计风格、设计方法、设计目标到设计过程,都会产生彻底的变革,引起一场软件革命。甚至会改变人类的生活方式”。这是因为传统的软件往往都是与具体的实现环境有关,换了一个环境就需要改写源程序,成本高、风险大,而Java语言能在字节码(二进制码)上兼容,这样以前所开发的软件就能运行在不同的机器上,只要运行该软件的机器能提供Java语言解释器即可。,任务一认识Java语言,子任务2 认识Java语言的影响和应用前景 向Java看齐 Java语言能够将用户的需求进行动态的、可视化描述,以提供设计者更加直观的要求。而用户的需求是各种各样的,不受地

21、区、行业、部门、爱好的影响,都可以用Java语言描述清楚。 Java语言具有面向目标的特性,完全可以用面向对象的技术与方法来开发,因此能够更好地符合最新的软件开发规范要求。 Java语言的动画效果比GUI技术更加逼真,而且可以方便共享Web提供的全人类动画资源。 利用Java语言开发的软件可以具有可视化、可听化、可操作化的高效交互、动画与动作特性,便于控制画面动作,而这是在电影与电视播放过程中难以做到的。 另外,使用Java语言对开发效益、开发价值都有比较明显的影响。,任务一认识Java语言,子任务2 认识Java语言的影响和应用前景 Java对软件产业的影响 软件4A目标要求软件能达到任何人

22、(Any one)、在任何地方(Any where)、在任何时间(Any time)、对任何电子设备(Any device)都能应用。Java符合4A目标,因此能够满足软件平台上互相操作,具有可伸缩性并可即插即用等分布式计算模式的需求。 基于Java构件开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java 2平台和.NET平台两大阵营,推动了整个IT业的发展。 对软件产业和工业企业都产生了深远的影响。Java面世以来,软件从以开发为中心转到了以服务为中心(软件即服务,SaaS),导致中间提供商、构件提供商、服务器软件以及咨询服务商的大批涌现。企业通过

23、B2B、B2C的电子商务在整个新经济市场中重塑自我,获得新的价值、新的增长、新的商机、新的管理。,任务一认识Java语言,子任务2 认识Java语言的影响和应用前景 对软件开发带来了新的革命。重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作、创作、责任、诚信是人才的基本素质等现代软件开发模式的诞生,都与Java息息相关。 熟悉Java语言的应用前景 Java语言具有广泛的应用前景,主要有如下几个方面: 所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等; 计算过程的可视化、可操作化软件的开发; 动态画面的设计,包括图形图像

24、的调用; 交互操作的设计,如选择交互、定向交互、控制流程等;,任务一认识Java语言,子任务2 认识Java语言的影响和应用前景 Internet的系统管理功能模块的设计,包括Web页面的动态设计、管理和交互操作设计等; Intranet上的直接面向企业内部用户的软件开发; 与各类数据库连接查询的SQL语句实现; 其它应用类型的程序 。,任务一认识Java语言,知识点详解 Java体系结构 前面介绍Java实现跨平台是以Java虚拟机(Java Virtual Machine,简称JVM)为基础,而许多JVM实际上也是由软件实现的。Java的体系结构如图2-1所示。作为基础的最下层是平台移植接

25、口,由适配器和Java程序运行的操作系统(简称Java OS)组成,保证Java体系结构可以跨平台。Java虚拟机的上层是Java基本类和Java 应用编程接口(Java Application Programming Interface,简称Java API),它们都具有可扩展性。最上一层是Java应用程序和Applet小程序。,任务一认识Java语言,知识点详解,任务一认识Java语言,知识点详解 Java平台 Java平台是Java程序运行时所需要的硬件和软件环境,软件环境主要是指Java OS,如Microsoft Winodws OS(Desktop/Server)、Sun Sola

26、ris、IBM AIX、Apple Macintosh、Linux等,以及运行于操作系统之上、与硬件无关的软件环境。本教材介绍的Java平台专指建立在操作系统之上,供Java程序运行的软件环境。,任务一认识Java语言,知识点详解 Java平台目前分为三个版本体系:JavaSE(Java 2 Platform Standard Edition,Java平台标准版)、JavaEE(Java 2 Platform Enterprise Edition,Java平台企业版)、JavaME(Java 2 Platform Micro Edition,Java平台微型版)。其中,JavaME是为嵌入式和

27、移动设备提供的Java平台,其体系结构由Profiles、Configuration和Optional Packages组成;JavaSE是面向企业级应用与服务的综合型标准开发平台,它由JSDK1.3发展而来,支持CORBA、JNDI、LDAP;JavaEE是面向大企业级用容器管理专用构件的应用平台,以JavaSE为基础,支持EJB,支持JavaME。,任务一认识Java语言,知识点详解 基于硬件的平台Java虚拟机及接口Java APIHelloWorld.javaJava平台图2-2 Java平台。Java平台由Java虚拟机和Java API构成,如图2-2所示。目前常用的Java平台基

28、于Java1.5,最近版本为Java1.7。,任务一认识Java语言,知识点详解 Java虚拟机Java程序的下载和执行步骤如下: Java源程序在服务器端经编译器编译后得到字节码文件; 客户机上的浏览器与服务器连接,请求下载字节码文件; 服务器将字节码文件发送到客户机 ; 客户机上的解释器执行字节码文件; 实现运行结果在浏览器上的显示与交互。 Java API结构 Java API为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序(如,图中的应用程序HelloWorld.java)就可运行。现在Java

29、平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种操作系统中运行,包括目前的大多数手机通信、数码娱乐等嵌入式系统。Java API已经从1.1x版发展到1.2版。,任务一认识Java语言,知识点详解 在面向对象语言中,对象是程序的基本单位。Java语言以类为程序的基本单位,类是具有某些共同特性实体的集合,是一种抽象概念,实际上它是一种对象类型的定义,即对具有相同行为对象的一种抽象,说明该类对象的性质。在Java语言中,类是具有某种功能的基本模块的描述,它提供的标准类库为编程所需的底层模块提供了常用的方法和接口,并将它们分类封装成包(Package),每个包又包括很多

30、子包,形成树形结构的类层次。类库主要包括Java核心包、Javax扩展包和Org扩展包。 Java核心包 java.lang包:封装所有编程应用的基本类,如Object、Class、String、System、Integer、Thread等。其中Object是所有类的根,它所包含的属性和方法被所有类继承 ; java.awt包:封装抽象窗口工具包,提供构建和管理图形用户接口(GUI)设计工具,包含构件、容器和布局管理器;,任务一认识Java语言,知识点详解 java.io包:提供输入/输出文件操作的类; java.applet包:为Applet提供执行所需的所有类; 包:提供程序执行网络通信应

31、用及URL处理的类; java.util包:提供实用程序类和集合类,如系统特性定义和使用、日期方法类、集合Collection、List、Arrays、Map等常用工具类; java.sql包:提供访问和处理标准数据源数据的类; java.rmi包:提供程序远程方法调用所需的类。 Javax扩展包 javax.naming包:提供命名服务所需的类和接口; javax.swing包:提供构建和管理个程序的图形界面的轻量级的构件; javax.transaction包:提供事物处理所需的基本类。,任务一认识Java语言,知识点详解 Org包 Org包是一些有关国际组织的标准。 Java程序的命名与

32、书写规范 Java语言是计算机语言界的后起之秀,对早期各种高级语言的优缺点进行扬弃的基础上,实现了多项新的特性,而且为编写Java代码(含JSP、Servlet、JavaBean、EJB)时的命名、书写格式制定了规范。 Java命名规范 Package的命名 Package(包)的名字应该都是由一个小写单词组成,如图2-3所示。表明该程序属于“com.jware.apps.crm.mansite.dao.hibernate”的Package。从程序的结构上来说,Package中用小数点分隔的小写单词序列通常是指存放该程序的相对路径名。,任务一认识Java语言,知识点详解,任务一认识Java语言

33、,知识点详解 Class的命名 Class的名字必须由一个或几个大写字母开头而其他字母都小写的单词组成,例如: HelloWorldApplication,或上图中的CrmCustomerDao、BaseHibernateDAO等等。 Class变量的命名 变量的名字可大小写混用,但首字符必须小写,词由大写字母分隔,限制使用下划线和美元符号($)等,例如:maxCount、i、isNew、companyName等。 类中的属性不能定义为public变量直接存取,而是定义成protect变量来防止继承类使用他们并编写get/set方法。,任务一认识Java语言,知识点详解 方法的命名 方法名应该

34、是动词,大小写可混用,但首字母应小写。在每个方法名内,大写字母将词分隔并限制使用下划线。参数的名字必须和变量的命名规范一致,使用有意义的参数命名,尽量使用和要赋值的字段一样的名字。例如: public void setCompanyName(String companyName) panyName = companyName; 其中,从传入的参数名companyName得知,该参数是公司(单位)名称。,任务一认识Java语言,知识点详解 Class属性(成员变量)的使用 使用Class属性(成员变量)时一定要加前缀this或super标识对应的成员变量,以增加程序的可读性。从上例中可知,com

35、panyName是方法setCompanyName中传入的参数,而panyName是该方法所在类的成员变量。 Static Final变量的命名 Static Final变量的名字应该全部由大写字母组成,并指出完整含义,例如: final MAXUPLOADFILESIZE = 1024; / Max Upload File Size,任务一认识Java语言,知识点详解 数组的命名 数组的命名格式为:byte charBuffer,注意不是byte charBuffer。 代码格式 代码格式 代码应该用UNIX格式,而不是Windows格式,如:“回车”变成“回车+换行”。 文档化 必须采用j

36、avadoc为每个类生成API帮助文档。这是因为不仅javadoc是标准,也是被各种Java编译器都认可的方法。,任务一认识Java语言,知识点详解 缩进 缩进应该是每行4个半角空格。注意不要在源文件中保存Tab字符,这是因为在使用不同的源代码管理工具时,Tab字符可能由于用户设置的不同而扩展为不同的宽度。 大括号 中的语句应该单独作为一行。例如,下面的if第1段是错误的,第2段是正确的: if (i0) i +; / 错误用法,“”和“”出现在同一行。 if (i 0) i +; / 正确用法,语句“i +;”单独作为一行。,任务一认识Java语言,知识点详解 括号() 左括号和后一个字符之

37、间不应该出现空格。同样地,右括号和前一个字符之间也不应该出现空格。例如: setCompanyName( String companyName )/ 错误用法。 setCompanyName(String companyName)/ 正确用法。 注意:不要在语句中使用无意义的括号,括号只应该为达到某种目的而出现在源代码中。 if (i) = 10) / (i)使用错误 - 括号毫无意义。 if (i = 10) or (j = 6) then/ 正确 此处 的确需要两对括号。,任务一认识Java语言,知识点详解 注释 / 注释一行。 /* . */ 注释多行。 /* . */文档注释,注释多行

38、,支持通过javadoc命令生 成API帮助文档。 在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等。 在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。,任务一认识Java语言,知识点详解 方法的约束 方法中代码的规模尽量限制在200行以内; 一个方法最好只完成一个独立的功能 ; 为简单功能编写方法 ; 方法的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出; 尽量不要编写依赖于其他方法内部实现的方法

39、; 避免设计多参数方法,不使用的参数从接口中去掉; 用注释详细说明每个参数的作用、取值范围及参数间的关系; 检查方法所有参数输入的有效性; 检查方法所有非参数输入的有效性,如数据文件、公共变量等;,任务一认识Java语言,知识点详解 方法名应准确描述方法的功能 ; 避免使用无意义或含义不清的动词为方法命名; 方法的返回值要简单、明确,让使用者容易发现错误情况; 明确方法功能,精确(而不是近似)地实现方法设计; 减少方法本身或方法间的递归调用; 编写可重入方法时,若使用全局变量,则应通过关闭中断、信号量(即P、V操作)等手段对其加以保护。,任务二熟悉面向对象程序设计思路,知识导读 结构化方法学概

40、述:1977年出现的结构化方法学也称为生命周期方法学,它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务。这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。 结构化方法学的特点 阶段性。前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是后一阶段的输入文档 推迟实施。将分析和设计阶段与实施分开,适当地推迟系统的具体程序实现; 文档管理。在每阶段就规定了要完成的文档资料,没有完成文档,就认为没有完成该阶段的任务。在每一阶段都要对已完成的文档进行复审,以便尽早发现问题,避免后期的返工。,任务二熟悉面向对象程序设计思路,知识导

41、读 结构化方法学将软件生命周期划分成若干个阶段。每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。在每个阶段结束之前都从技术和管理两个角度进行严格的审查,审查通过之后才开始下一阶段的工作,这就使软件开发的全过程以一种有条不紊的方式进行。 结构化方法学曾经给软件产业带来巨大进步,在一定程度上缓解了软件危机。但由于结构化方法基于功能分析与功能分解,软件结构紧密依赖于系统功能,而在实际开发工作中,系统功能往往又是模糊易变的,功能的变化经常引起软件结构的整体修改。 目前,面向对象方法已取代结构化方法成为软件方法学的主流。但对于一些功能需求非常明确而且不会

42、轻易改变的软件系统,结构化方法仍然是比较有效的。,任务二熟悉面向对象程序设计思路,知识导读 结构化分析: 结构化分析(Structured Analysis,SA)方法是一种面向数据流的需求分析方法。它的基本思想是自顶向下逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最低层的问题都是足够简单、容易解决的,于是复杂的问题也就迎刃而解了. 数据流图和数据字典是结构化分析的常见工具,软件需求说明书是需求分析阶段的最后成果。 面向对象方法学概述:结构化分析和设计方法在一定程度上缓解了“软件危机”。但是,随着人们对软件提出的要求越来越高,结构化方法学已经

43、无法承担快速高效开发复杂软件系统的重任。于20世纪80年代逐渐成熟的面向对象方法学,使软件开发者对软件的分析、设计和编程等方面都有了全新的认识。由于“对象”概念的引入,将数据和方法封装在一起,提高了模块内的聚合度,降低了模块间的耦合度,更大程度上支持了软件重用,从而有效地降低了软件的复杂度,提高了软件开发的生产率。目前,面向对象方法学已成为软件开发者的第一选择。,任务二熟悉面向对象程序设计思路,知识导读 面向对象方法学的概念 面向对象方法学由面向对象分析(Object-Oriented Analysis,OOA)、面向对象设计(Object-Oriented Design,OOD)、面向对象编

44、程(Object-Oriented Programming,简称OOP)等几个方面组成。那么,究竟怎样才算真正的“面向对象”(Object-Oriented,OO)呢?Peter Coad和Edward Yourdon提出了下列等式。 面向对象 = 对象(Objects) 类(Classes) 继承(Inheritance) 消息通信(Communication With Messages) 对象与封装 : 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。面向对象的软件系统是由对象组成的,复杂的对象由比较简单的对象组合而成。也就是说,面向对象方法学使用对象分解取代了传统方法

45、的功能分解。,任务二熟悉面向对象程序设计思路,知识导读 对象包含三要素:对象标识、属性和服务。 对象标识(Object Identifier)是对象的名字,供系统内部唯一地识别对象。定义或使用对象时,均应指定对象标识; 属性(Attribute),也称状态(State)或数据(Data),专门用来描述对象的静态特征。在某些面向对象的程序设计语言中,属性通常被称为成员变量(Member Variable)或简称变量(Variable); 服务(Service),也称操作(Operation)、行为(Behavior)或方法(Method)等,专门用来描述对象的动态特征。在某些面向对象的程序设计语

46、言中,服务通常被称为成员函数(Member Function)或简称函数(Function)。 封装(Encapsulation)是对象的一个重要原则。它有两层含义:一、对象是其全部属性和全部服务紧密结合而形成的一个不可分割的整体;二、对象是一个不透明的黑盒子,表示对象状态的数据和实现操作的代码都被封装在黑盒子里面。使用一个对象的时候,只需知道它向外界提供的接口形式,无须知道它的数据结构细节和实现操作的算法。从外面看不见,更不可能从外面直接修改对象的私有属性。,任务二熟悉面向对象程序设计思路,知识导读 类 类是对具有相同属性和服务的一个或一组对象的抽象定义。因此,类与对象是抽象描述与现实世界的

47、关系,一个具体的对象被称为类的一个实例(Instance)。 继承与多态性 继承是面向对象方法学中的一个十分重要的概念,其定义是:特殊类(或称子类、派生类)的对象拥有其一般类(或称父类、基类)的全部属性与服务,称做特殊类对一般类的继承。在面向对象的方法学中,继承是提高软件开发效率的重要原因之一。 多态性(Polymorphism)是指一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。使用多态技术时,用户可以发送一个通用的消息,而实现的细节则由接受对象自行决定,这样同一消息就可以调用不同的方法。多态性不仅增加了面向对象软件系统的灵活性,进一步减少了信息冗余,而且

48、显著提高了软件的可重用性和可扩充性。多态有多种不同的形式,其中参数多态和包含多态统称为通用多态,过载多态和强制多态统称为特定多态。,任务二熟悉面向对象程序设计思路,知识导读 消息通信 消息(Message)是向对象发出的服务请求,它一般含有下列信息:提供服务的对象标识、消息名、输入信息和应答信息。对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作。相反地,它是进行处理的主体,必须发消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。 消息通信也是面向对象方法学中的一条重要原则,它与对象的封装原则密不可分。封装使对象成为一些各司其职、互不干扰的独立单位

49、;消息通信则为它们提供了唯一合法的动态联系通道,使它们的行为能够互相配合,构成一个有机的系统。 只有同时使用对象、类、继承与消息通信,才是真正面向对象的方法。,任务二熟悉面向对象程序设计思路,知识导读 面向对象方法学的优点 与人类习惯的思维方法一致 面向对象方法学的出发点和基本原则,是尽可能模仿人类习惯的思维方式,使软件开发的方法与过程尽可能接近人类认识世界与解决问题的方法与过程,也就是使描述问题的“问题域”与解决问题的“解域”在结构上尽可能一致。 稳定性好 对传统的软件开发方法基于功能分析与功能分解,软件结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改。而用户需

50、求变化大部分是针对功能的,因此这样的系统是不稳定的。 面向对象的方法用对象模拟问题域中的实体,以对象为中心构造软件系统,系统的功能需求变化时并不会引起软件结构的整体变化。由于现实世界中的实体是相对稳定的,因此以对象为中心构造的软件系统也是比较稳定的。,任务二熟悉面向对象程序设计思路,知识导读 可重用性好 面向对象方法学在利用可重用的软件成分构造新的软件系统时有很大的灵活性。继承机制与多态性不仅使得子类可以重用其父类的数据结构与程序代码,并且可以方便地修改和扩充,而这种修改并不影响对原有类的使用。 较易开发大型软件产品 用面向对象方法学开发软件时,构成软件系统的每个对象相对独立。因此,可以把一个

51、大型软件产品分解成一系列相互独立的小产品来处理。这不仅降低了开发的技术难度,而且也使得对开发工作的管理变得容易多了。 可维护性好 面向对象的软件比较容易理解、修改和测试,因此软件维护的难度很低。,任务三JDK的安装与应用路,知识导读 硬件环境需求 Intel PIII 1GHz以上或同档次CPU、128MB或以上内存、SVGA彩显、500MB以上硬盘空闲空间。 软件环境需求 中文版Windows 2000或XP操作系统、j2sdk1.4.2以上版本JDK。,任务三 JDK的安装与应用,子任务1 JDK的下载、安装与配置 JDK的下载与安装 j2sdk1.4.2版本JDK可到Sun(目前隶属于O

52、racle)公司官方网站提供的下载地址 IDE5.0中国教育考试版(2007)的组合包同步下载和自动安装。 安装完毕之后,可以发现JDK的默认安装路径为C:j2sdk1.4.2_14 环境变量配置 在Windows XP下,JDK运行环境的环境变量设置方法如下:,任务三 JDK的安装与应用,子任务1 JDK的下载、安装与配置 JAVA_HOME的设置 步骤1 :右击“我的电脑”“属性”,在“系统属性”面板上面选择“高级”选项“环境变量”; 步骤2 在“系统变量”列表中,查找变量名为“JAVA_HOME”的系统变量。如果有,则选中该变量并单击“编辑”按钮;如果没有,则单击“新建”按钮。 步骤3

53、在弹出的对话框里,变量名填入“JAVA_HOME”,在变量值里面填入JDK的安装路径“C:j2sdk1.4.2_14”,然后单击“确定”退出。 path中追加Java工具运行的默认路径 步骤同上。在“系统变量”列表中,查找变量名为“path”的系统变量。找到后在变量值默认路径序列中加入“C:j2sdk1.4.2_14bin;”,然后单击“确定”退出。,任务三 JDK的安装与应用,子任务1 JDK的下载、安装与配置 CLASSPATH设置Java类的查找路径 步骤同上。在“系统变量”列表中,新建变量名为“CLASSPATH”的系统变量,在变量值中加入“.;%JAVA_HOME%libtools.

54、jar;PATH=%JAVA_HOME%bin;%PATH%”,然后单击“确定”退出。 设置完毕上述三项内容,单击“确定”,再单击“应用”、“确定”退出,任务三 JDK的安装与应用,子任务2 JDK的应用 用记事本编辑Java应用程序 打开记事本,按照如图2-4所示输入Java源程序,任务三 JDK的安装与应用,子任务2 JDK的应用 编辑完毕,以“HelloWorld.Java”作为文件名,保存到C:j2sdk1.4.2_14目录下。 在控制台编译并运行源程序。首先打开控制台,即进入命令提示符状态。 编译:C:j2sdk1.4.2_14javac HelloWorld.java 编译结束后,

55、用户可以在C盘根目录下看到名为HelloWorld.class的字节码文件。 运行:C:j2sdk1.4.2_14Java HelloWorld 运行结束后,控制台显示如图2-5所示结果:“Hello World,Java!”。说明上述JDK环境配置结果是正确的。,任务三 JDK的安装与应用,子任务2 JDK的应用,任务三 JDK的安装与应用,子任务2 JDK的应用 Java应用程序的编程与运行过程 Java独立应用程序实现步骤 步骤1 确定编程任务及实现思路 任务:编写一个在控制台运行的程序,在屏幕上显示“Hello World,Java!”。 思路:程序中需要采用行打印输出方法printl

56、n(“Hello World,Java!”),由于该方法在系统(System)类的out变量中,所以必须采用如下格式来引用: System.out.println(Hello World,Java!); 根据Java语言的规定,任何一个Java程序必须被定义为一个类,所以结合本实例程序实现的功能,命名类名为HelloWorldApplication。作为应用程序还需要运行时的入口,Java应用程序采用主方法(main)作为入口。为提高程序的可读性和便于维护,本实例添加了一些必要的注释语句。,任务三 JDK的安装与应用,子任务2 JDK的应用 步骤2 编写出完整的源程序代码。 根据上述思路,完整

57、的源程序代码编写如下 : /* * HelloWorldApplication * Version 1.0 * Author */ public class HelloWorldApplication/定义类 public static void main(String args)/定义入口方法 System.out.println(Hello World,Java!);/屏幕输出 ,任务三 JDK的安装与应用,子任务2 JDK的应用 步骤3 程序代码的录入与保存 根据前面的介绍,Java程序可以在任何一个文本编辑器里录入源程序代码,如Windows的记事本、写字板,或专用文本编辑器Ultra

58、Edit、Java程序编辑器JCreator、NetBeans等等。 打开记事本,将前面的程序录入并以文件名HelloWorldApplication.java保存到指定盘的指定路径下,如C:j2sdk1.4.2_14下。 注意:Java要求源程序的文件主名必须与该程序的类名相同,而扩展名必须是java,而且Java程序中的英文字母是大小写敏感的。 步骤4 编译源程序,任务三 JDK的安装与应用,子任务2 JDK的应用 步骤4 编译源程序 用编译器javac将源程序文件编译成字节码文件,生成的文件扩展名是class。 C:j2sdk1.4.2_14javac HelloWorldApplica

59、tion.java 编译的结果是在当前目录下生成HelloWorldApplication.class。 步骤5 用Java解释器运行该字节码文件 用Java解释器java.exe运行,命令格式如下: C:j2sdk1.4.2_14java HelloWorldApplication 图2-6 控制台编译和运行Java独立应用程序 运行结束后,在控制台输出如图2-6所示结果:“Hello World,Java!”。,任务三 JDK的安装与应用,子任务2 JDK的应用,图2-6 控制台编译和运行Java独立应用程序,任务三 JDK的安装与应用,子任务2 JDK的应用 Java小应用程序实现过程 步骤1 确定编程任务及实现思路 任务:编写一个在浏览器中运行的小应用程序,在屏幕输出“HelloWorld,Java!”。 思路:为了实现这个目标,首先要求小应用程序开发者必须遵循在java.applet包中定义的小应用程序的编写标准,为此需要通过下面格式将这个包引入小应用程序中:import java.applet.* 步骤2 编写出完整的源程序代码 根据上述思路,完整的源程序代码编写如下:,任务三 JDK的安装与

温馨提示

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

评论

0/150

提交评论