《Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第1章 Java语言概述》由会员分享,可在线阅读,更多相关《Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第1章 Java语言概述(30页珍藏版)》请在金锄头文库上搜索。
1、第1章 Java语言概述,学习导读,本章着重介绍Java语言中的背景知识和基本概念。 具体涉及: 本章将简要介绍软件开发方法的变革 面向对象程序设计中的基本概念 介绍Java语言的特点及开发Java程序的基本步骤等,使读者对面向对象软件开发方法的基本思想和特点有一定的了解 介绍Java语言特点、与C/C+的主要差异、Java程序执行过程、Java运行环境及开发工具等基本知识。,课程结构,1.1 面向对象的软件开发概述 1.2 面向对象的基本概念 1.3 Java语言概述,1.1 面向对象的软件开发概述,1.面向对象的软件开发的发展 分成四个阶段: 60年代:编程人员只能依靠个人的技巧、经验和智
2、慧发展,针对特定问题,根据所需功能,制定相应的解决方法; 70年代:软件开发采用系统方法,通过遵从一系列规范进行开发的阶段 ; 80年代:管理系统的结构,管理系统各部分之间的接口,将系统各部分集成为一体等成为软件系统开发技术的焦点。强调团队合作; 90年代:出现了基于客观世界的对象模型的软件开发方法。,1.1 面向对象的软件开发概述,2.面向对象的软件开发方法定义 面向对象的软件开发方法按问题论域来设计模块,以对象代表问题解的中心环节,力求符合人们日常的思维习惯; 采用“对象+消息”的程序设计模式,降低或分解问题的难度和复杂性,从而以较小的代价和较高的收益获得较满意的效果,满足软件工程发展需要
3、。,1.1 面向对象的软件开发概述,3.面向对象开发方法的意义 面向对象开发方法的出现和广泛应用是计算机软件技术发展的一个重要变革和飞跃; 面向对象技术能够更好地适应当今软件开发在规模、复杂性、可靠性和质量、效率上的种种要求,因而被越来越多地推广和使用; 其方法本身也在这诸多实践的检验和磨练中日趋成熟、标准化和体系化,逐渐成为目前公认的主流软件开发方法。,1.2 面向对象的基本概念,1.对象、类和消息 对象就是现实世界中某个具体的物理实体在计算机中的映射和体现 类描述对象的“基本原型”,是描述性的类别或模板,即对一组对象的抽象。它定义一组对象所能拥有的共同特征(属性和能完成的操作),用以说明该
4、组对象的能力与性质。 所谓的消息驱动。消息一般由三部分组成,即消息的接收对象名、消息操作名和必要的参数。 消息传送与传统的函数调用的主要差别有以下几点: 函数调用可带或不带参数,但消息至少带一个参数(即接收该消息的对象)。 消息操作名类似于函数名,但他们有本质的不同。函数名代表一段可执行的代码,而消息名的具体功能选定还取决于接收消息的对象本身。 函数调用是过程式的,而消息传送是说明式的,具体如何做由对象根据收到的消息自行确定。,1.2 面向对象的基本概念,2.封装性、继承性和多态性 所谓封装又称为信息隐蔽,是面向对象的基本特征。封装的目的在于将使用者与设计者分离,使用者不必知道操作实现的细节,
5、只需用设计者提供的消息来访问对象。 继承是面向对象语言中的一种重要机制,该机制自动地为一个类提供来自另一个类的操作和属性,这样程序员只需在新类中定义已有类中没有的属性与(或)操作来建立新类。 多态性是指一个名字具有多种语义,即指同一消息为不同对象所接受时,可以导致不同的操作。,1.3 Java语言概述,1.Java的发展 Java的历史,1991: Green Project、James Gosling 1993: WWW迅速发展,HotJava浏览器得到关注。 1995: Java正式发布,1.3 Java语言概述,Java的现况和发展前景 Java是以网络为中心、面向对象的程序设计语言。一
6、方面,它克服了早先程序设计语言在应用中的不足;另一方面,Java语言具有自身的特点;比如, Java具有安全性、跨平台、多线程等优势,特别适合于Internet应用程序开发。,1.3 Java语言概述,Java语言自1995年问世以来不断发展,开发平台的版本已经从早先的JDK 1.0发展到JDK 2.0,到当前广泛应用的JDK 5.0,以及最近才使用的JDK 6.0。Java语言的每一个版本的推出,都是对自身不足的克服和完善。它日益成为网络应用的一支强有力的技术力量。 由于Internet和WWW进一步普及,目前几乎所有的软件公司都在学习、研究并使用Java。当前,Java语言已经被广泛地应用
7、在各种领域,如网络远程教学、安全的金融应用平台、无线应用平台、太空探索等。Sun、IBM、Oracle以及Netscape等公司都在大力推进Java的应用。,1.3 Java语言概述,2.Java的语言特点 简单性 语法简单,没有C+复杂的语法,没有C+的头文件、指针运算、虚基类等 Java的解释器小,基本解释器大约40KB,包括基础的标准类库和线程支持,大约增加175KB,1.3 Java语言概述,面向对象 Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术 。 面向过程程序设计是将算法转化成程序代码,由于程序中数据和过程或函数是分开的,如果对程序的功能发生一
8、点变化,假设新增一个功能函数,这可能需要程序员对程序做较大程度的修改。 面向对象程序设计语言是利用面向对象特性可以很好的改善过程设计语言中存在的问题。充分体现了程序的模块化、重用性、可用性。,面向过程 面向对象,1.3 Java语言概述,分布式 Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,就像访问本地文件一样简单方便。Java的分布性为实现在分布环境尤其是Internet下实现动态内容提供了技术途径。,1.3 Java语言概述,健壮性 Java是一种强类型语言,它在编译和运行时要进行大量的类型检查。类型检查帮助检查
9、出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java的数组并非采用指针实现,从而避免了数组越界的可能。Java通过自动垃圾收集器避免了许多由于内存管理而造成的错误。Java在程序中由于不采用指针来访问内存单元,从而也避免了许多错误发生的可能。,1.3 Java语言概述,可移植性 Java的数据类型具有固定的大小; 二进制数据以固定形式存储和传输; 字符串是用Unicode存储 定义了可移植的接口,在不同操作系统下有不同的实现,1.3 Java语言概述,结构中立 作为一种网络语言,Java编译器将Java源程序编译成一种与体系结构无关的中间文件格式。只要有Java运行系
10、统的机器都能执行这种中间代码。从而使同一版本的应用程序可以运行在不同的平台上,1.3 Java语言概述,安全性 作为网络语言,安全是非常重要的。Java的安全性可从两个方面得到保证。一方面,在Java语言里,象指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和一类浏览器本身提供的功能结合起来,使它更安全。Java语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。另外,Java拥有多个层次的互锁保护措施,能有效地防止病毒的入侵和破坏行为的发生。,1.3 Java
11、语言概述,解释的 Java解释器(运行系统)能直接对Java字节码进行解释执行。链接程序通常比编译程序所需资源少。 高性能 虽然Java是解释执行程序,但它具有非常高的性能。另外,Java可以在运行时直接将目标代码翻译成机器指令。,1.3 Java语言概述,多线程 线程有时也称小进程,是一个大进程里分出来的小的独立运行的基本单位。Java提供的多线程功能使得在一个程序里可同时执行多个小任务,即同时进行不同的操作或处理不同的事件。多线程带来的更大的好处是具有更好的网上交互性能和实时控制性能,尤其是实现多媒体功能。 动态性 Java的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程
12、中所需要的类,而不影响使用这一类库的应用程序的执行,这是采用C+语言进行面向对象程序设计时所无法实现的。,1.3 Java语言概述,3.Java的应用程序类型 多平台应用程序:Java是跨平台的应用开发工具,用Java开发的网络应用系统可以在各种平台上运行,大大增加了开发效率,减少重复劳动。 Web应用程序:开发Web应用程序是Java的基本功能。Web浏览是现在国际网甚至局域网的主要使用方式。文档能很容易地显示文本和各种图片,并提供超文本链接。 基于GUI的应用程序:用Java语言可以开发出一般Windows下的标准图形用户界面。 面向对象的应用程序:由于Java是一种纯面向对象的编程语言,
13、因此常用Java语言开发面向对象的应用程序。 多线程应用程序:利用Java语言提供的多进程机制可以方便开发各种动画应用等程序。 关键任务的应用程序:如电子商务和数据库方面的应用程序。 分布式网络应用程序:Java是网络编程语言,常利用Java进行分布式网络应用程序的开发,如Sun公司的hotJava浏览器就是用Java开发的。 安全性应用程序:Java设计为在其编译器、运行系统及相应的浏览器中嵌入多层安全机制。,1.3 Java语言概述,4.Java语言的开发 Java语言的开发工具JDK JDK的安装 直接执行下载的安装文件后,根据提示就可正常安装。 安装后产生如下目录结构 JDK安装目录*
14、bin的目录下包含以下主要文件: javac:Java编译器,用来将Java程序编译成bytecode。 java:Java编译器,执行已经转换成bytecode的Java应用程序。 jdb:Java调试器,用来调试Java程序。 javap:反编译,用来返回Java程序的成员变量及方法等信息。 javadoc:文档生成器,创建HTML文件。 javaprof:资源分析工具,1.3 Java语言概述,设置JDK环境变量 为了能从任何目录编译和运行Java程序,需要在计算机系统中设置PATH和CLASSPATH变量。 集成开发工具 NetBeans IDE; Elicpse; JBuilder;
15、 JCreator Pro ;,1.3 Java语言概述,5.Java程序 Java程序的分类 Java Application(Java独立应用程序) Java独立应用程序是一个完整的程序,需要独立的Java解释器来解释执行; Java Applet(Java小应用程序) Java小应用程序则是嵌在Web页面中的非独立应用程序,由Web浏览器内部所包含的Java解释器来解释执行,为Web页面增加交互性和动态性。 注意:将上述两种类型结合形成混合型应用程序它是指Java软件在不同的主机环境中可作为不同的类型,或者是小应用程序或者是独立应用程序。,1.3 Java语言概述,Java Applic
16、ation的例子 建立一个名为WelcomeApp.java的文件: import java.io.*; public class WelcomeApp public static void main(String args) System.out.println(“Welcome to JAVA!”); ,1.3 Java语言概述,Java Applet的例子 建立名为Applet1.java的程序: import java.awt.*; import java.applet.*; public class Applet1 extends Applet public void paint(Graphics g) g.drawString (“Welcome to Java“, 50, 25); 运行Java Applet。为了看见程序运行结果,必须在使用Applet的网页里加入如下几行Applet标记。 ,1.3 Java语言概述,Java程序结构 Ja