《Java程序设计与应用》-张仕斌-电子教案 第1章

上传人:E**** 文档编号:89401108 上传时间:2019-05-24 格式:PPT 页数:34 大小:457KB
返回 下载 相关 举报
《Java程序设计与应用》-张仕斌-电子教案 第1章_第1页
第1页 / 共34页
《Java程序设计与应用》-张仕斌-电子教案 第1章_第2页
第2页 / 共34页
《Java程序设计与应用》-张仕斌-电子教案 第1章_第3页
第3页 / 共34页
《Java程序设计与应用》-张仕斌-电子教案 第1章_第4页
第4页 / 共34页
《Java程序设计与应用》-张仕斌-电子教案 第1章_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《《Java程序设计与应用》-张仕斌-电子教案 第1章》由会员分享,可在线阅读,更多相关《《Java程序设计与应用》-张仕斌-电子教案 第1章(34页珍藏版)》请在金锄头文库上搜索。

1、第1章 Java语言概述,2019年5月24日星期五,2,学习目的: 了解程序设计语言的发展历史 了解Java语言的特色和应用背景 了解Java虚拟机、Java的运行环境和Java编程语言开 发环境 初步掌握简单Java程序的创建、编译和运行 学习重点 面向对象的程序设计语言 Java虚拟机 Java的运行环境 Java程序的创建、编译和运行,2019年5月24日星期五,3,第1章 Java语言概述,本章提要: 1. 程序设计语言概述 2. Java语言简介 3. Java语言概述 4. 简单Java程序的创建、编译及运行步骤,2019年5月24日星期五,4,1.1 程序设计语言概述,1.1.

2、1 计算机程序设计方法和语言,随着计算机硬件与通讯技术的发展,计算机应用领域越来越广泛,应用规模也越来越大,程序设计不再是一、两个程序员可完成的任务,在这种情况下编写程序不再片面追求高效率,而是综合考虑程序的可靠性、可扩展性、可重用性和可理解性等因素。 程序设计方法是独立于具体程序设计语言的一门技术。由于程序设计通常离不开程序设计语言作为工具,所以容易混淆程序设计方法与程序设计语言的概念。程序设计语言的设计目的主要是为了支持某种程序设计方法 。,2019年5月24日星期五,5,早期的程序设计 早期的高级程序设计语言有FORTROM、COBOL、BASIC等。这一时期由于追求程序的高效率,程序员

3、过份依赖技巧与天份,不太注重程序的结构,。一个典型问题是程序中的控制随意跳转,即不加限制地使用goto语句,这样的程序对阅读者来说是难以理解的,程序员也难以修改程序。 结构化的程序设计 随着程序规模与复杂性的不断增长 ,20世纪60年代诞生了结构化程序设计方法。结构化程序设计方法的主要技术是自顶向下、逐步求精,采用单入口/单输出的控制结构。这一程序设计方法的代表语言是Pascal、C、Ado等。,2019年5月24日星期五,6,自顶向下是一种分解问题的技术,与控制结构有关。逐步求精指对结构化程序进行分解,最终使其成为三种基本控制结构的组合。结构化程序设计的结果是一个程序最终由若干过程组成,每一

4、个过程完成一个明确的功能。 面向对象程序设计 虽然结构化程序设计提高了软件生产率和软件质量,但随着程序规模与复杂性的增长,程序中的数据结构变得与这些数据上的操作同样重要。在大型结构化程序中,一个数据结构可能由许多个过程来处理,修改数据结构将影响到所有相关的过程。在由几百个过程组成的成千上万行的结构化程序中,这种情况变得相当麻烦并且容易产生错误。,2019年5月24日星期五,7,20世纪80年代兴起的面向对象程序设计方法在结构化程序设计的基础上提出了一种新的设计思路,最重要的改变是程序围绕被操作的数据来设计,而不是围绕操作本身。面向对象程序设计以类作为构造程序的基本单位,具有封装、数据抽象、继承

5、、多态化等特点。较有影响的面向对象程序设计语言有Simula、C+、Java等。 Java语言是在C+语言基础上发展起来的一种适合分布式计算的新型面向对象程序设计语言,也是目前推广最快的程序设计语言。Java语言将面向对象、平台无关性、稳定性与安全性、多线程等特征集于一身,为用户提供了一个良好的程序设计环境,特别适合因特网的应用开发。与当前迅速发展的因特网应用紧密结合是Java语言成功的关键所在。,2019年5月24日星期五,8,1.1.2 计算机程序设计方法和语言,面向对象与面向过程的区别 早期的编程语言如Fortran语言和C语言基本上都是面向过程的语言,主要是采用数学语言方式编程的语言,

6、其编程的主要思路专注于算法的实现。 传统的面向过程的编程在描述问题时,由两部分组成: 数据:描述实体状态的数据结构; 过程:操作这些状态数据的程序和步骤。 面向过程编程的一个显著特点是数据与程序的分开。数据是静止的东西,不会自行变化,必须通过过程操作来改变数据,因此,函数调用在面向过程编程中被大量使用。,2019年5月24日星期五,9,针对程序结构不清晰而无法维护改进的局面。面向对象编程提出了一种全新的思路,让计算机语言结构像人类思维方式一样简单和清晰。 面向对象的软件开发中将世界上的事物均看成对象,任一对象有两个特征:行为与状态。每个对象可以通过自身的行为来改变自己的状态。在面向对象的世界中

7、,通过对象间的协作与交互来运作。由于将对象的操作封闭在对象内,外部要与对象进行交互只能通过给对象发送“消息”,这个消息实际上就是调用对象的某个行为方法,消息中还包括方法的参数。,2019年5月24日星期五,10,面向对象程序设计的特性 封装性 面向对象的第一个原则是把数据和该数据的操作都封装在一个类中,比如说笔记本电脑就是一个类。笔记本电脑这个类有许多属性,有些是静态的(数据),比如:显示屏的亮度,本身的重量;有些是动态的(对数据的操作),比如:可以按下组合键“ctrl+F4”或“ctrl+F5”来调整显示器的亮度,可以卸掉它的外挂光驱来减轻它的重量。 对象是类的一个实例化结果,对象具有类所描

8、述的所有的属性以及方法。比如不同品牌、不同样式的笔记本电脑之间的共同属性就是它们所属的类笔记本电脑类的属性。只不过类是抽象的东西,而对象是具体的,对象具有它隶属类的所有属性,包括静态的和动态的。,2019年5月24日星期五,11,每个对象都有自己的存储空间,可容纳其他对象,或者说通过封装现有的对象,可以产生新型对象。因此,尽管对象的概念非常简单,但是经过封装以后却可以在程序中达到任意高的复杂程度。 每个对象都属于某个类。根据语法,每个对象都是某个“类”的实例。一个类的最重要的特征就是“能将什么消息发给它?”,也就是类本身有哪些操作。面向对象程序设计就是设计好相关的类,类中有静态的域,和动态的方

9、法。 继承性 继承是在类、子类、以及对象之间自动地共享属性和方法的机制。类的上层可以有父类、下层可以有子类,形成一种层次结构。一个类将直接继承其父类的属性和行为,2019年5月24日星期五,12,,而且继承还具有传递性,因此,它还将间接继承所有祖先类的属性和行为。 继承最主要的优点是重复使用性,通过继承可以无限繁衍出更多的类,这样的结果可让软件的开发加速,同时可达到程序共享的好处。通过继承可以直接继承系统提供的或他人写作的类,并加以改写,进而得到功能的不断扩充。 继承的另一个优点是在于接口的一致性。当超类繁衍出许多子类时,它的行为接口通过继承可以传给其所有子类。因此可以通过统一的行为接口去访问

10、不同的子类对象的方法,但不同子类中行为的具体实现可能时不一样的。,2019年5月24日星期五,13,多态性 多态是指在表示特定功能时,有多种不同的形态或实现方法。常见的多态形式有两种: 方法的重载:即在同一个类中某个方法有多种形态,其方法名相同,但参数不同,所以也称参数多态。 方法的覆盖:在子类中重新定义一个与父类有相同形态的方法,这样,在子类中将覆盖从父类继承来的那个方法。 多态为描述客观事物提供了极大的能动性。参数多态提供了方法的多种使用形态,方便使用者的调用;而覆盖多态则使得用户可以用同样的方式对待不同的对象,不同的对象可以用它们自己的方式响应同一消息。用户可以通过父类去引用子类的对象,

11、执行方法时则表现出每个子类对象各自的行为。,2019年5月24日星期五,14,抽象性 这里的抽象有两个层次的含义,一是体现在类的层次设计中,高层类是底层类的抽象表述。类层次设计体现着不断抽象的过程。第二体现在类与对象之间的关系上,类是一个抽象的概念,而对象是具体的。面向对象编程的核心是设计类,但实际运行操作的是对象。类是对象的模板,对象的创建是以类为基础。同一类创建的对象具有共同的属性,但属性值不同。,2019年5月24日星期五,15,1.2 程序设计语言概述,Java语言有下面一些特点: 简单性 Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念

12、,就可以用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念 ,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。另外,Java也适合于在小型机上运行。,1.2.1 Java语言的特色,2019年5月24日星期五,16,面向对象 Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。 分布性 Java是面向网络的语言。通过它提供的类库可以处理 TCP/IP协议,用户可以通过 U

13、RL地址在网络上很方便地访问其它对象。,2019年5月24日星期五,17,鲁棒性 Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。通过集成的面向对象的例外处理机制,在编译时,Java提示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。,2019年5月24日星期五,18,安全性 用于网络、分布环境下的Java必须要防止病毒的入侵。Java不支持指针,一切对内存的访问都必须通过对象的实例变量

14、来实现,这样就防止程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。 体系结构中立 Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。,2019年5月24日星期五,19,可移植性 与平台无关的特性使 Java程序可以方便地被移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标

15、准C实现,这使得Java系统本身也具有可移植性。 解释执行 Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。 高性能 和其它解释执行的语言如BASIC、TCL不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。,2019年5月24日星期五,20,多线程 多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。 动态性 Java的设计使它适合于一个不

16、断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。,2019年5月24日星期五,21,1.2.2 Java的应用背景,Java语言对软件开发技术的影响 Java语言将对未来软件的开发产生影响 ,可从如下几个方面考虑 : 软件的需求分析:可将用户的需求进行动态的、可视化描述,以提供设计者更加直观的要求。而用户的需求是各色各样的,不受地区、行业、部门、爱好的影响,都可以用 Java语言描述清楚。 软件的开发方法:由于 Java语言的面向目标的特性,所以完全可以用面向对象的技术与方法来开发,这是符合最新的软件开发规范要求的。,2019年5月24日星期五,22,Java语言的动画效果远比GUI技术更加逼真,尤其是利用Internet提供的巨大动画资源空间,可以共享全世界的动态画面的资源。 软件最终产品:用Java语言开发的软件可以具有可视化、可听化、可操作化的交互、动画与动作,要它停就停,要它继续就继续,而这是在电影与电视播放过程中难以做到的。 其它:使用Java语言对开

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号