《java实用教程第4版 第1章课件》由会员分享,可在线阅读,更多相关《java实用教程第4版 第1章课件(80页珍藏版)》请在金锄头文库上搜索。
1、面向对象程序设计(Java),课程安排,学时:共56学时(上机16学时) 1-14周 上机时间: 使用工具: J2SDK 1.6.0 + Eclipse http:/www.eclipse.org/,教学目标,1、理解面向对象程序设计的 思想方法及其特征 2、学会使用 Java语言进行程 序设计,对面向对象程序设计的理解:,面向:采用、使用什么方法、技术解决问题 对象:广义地 狭义地 程序:指令的有序集合。 设计:为完成目的而给出的步骤、举措 是把一种计划、规划、设想通过视觉 的形式传达出来的活动过程。,学习特点,结构化程序设计:面向过程 C语言=语句+函数 面向对象程序设计:面向对象和类 J
2、ava语言= 语句 + 类库 Java系统= 框架 + 组件 推荐方法:模仿(查阅)+自己编写,第 1 章,Java 概述,1.1、程序设计语言发展,语言:一种具有语法、语义的记号。 程序语言发展的目标:使人轻松、方便的表达,且能让计算机也“懂”的语言。 符合程序设计思想的发展趋势 机器语言汇编语言高级语言 面向过程(面向模块)面向对象,大体归于以下四类: 1 机器语言 10101001 00001000 00000100 2 汇编语言 add A,#8,#4 3 高级语言 a=8+4 4 面向对象 a.num=8+4; 问:计算机语言有好坏之分吗? 有执行快慢之分吗?,1.2 面向对象语言的
3、特征,为什么需要面向对象方法? 追求软件系统对现实系统的直接模拟 ,尽量实现将现实世界中的事物直接映射到软件系统的解空间中。与人类习惯的思维方法一致,面向对象思想的由来,对象 表示现实世界中某个具体的事物。 事物可分为两大部分 : 物质 : 表达具体的事物 意识 : 描述抽象的概念,利用面向对象思想解决问题,现实问题空间 面向对象解空间 物质 对象(客观存在的) 意识 类 (抽象的概念) OO Object-Oriented,1.2.1、面向对象中的主要概念 (人进行思维时使用的工具),1、抽象:是从多个特定的实例中抽取共同的性质以形成一般化概念的过程。 “画”字成语 抽象正确的,2、对象(o
4、bject),对象具有两方面的含义: 在现实世界中: 是客观世界中的一个实体 在计算机世界中: 是一个可标识的存储区域 是系统中的一个实体 是一个属性和操作的封装体。,视角 分析角度 横看,对象(object),封装的实体 = 数据+方法(行为) 数据:属性或状态 方法: 作用于数据上的操作 封装:属性的访问和变化通过方法完成 每个对象由对象标识符唯一标识 例:学生甲 学生乙 . 清华 北大 华电 如何有效管理,引出类的概念,3、类(class),具有共同属性和行为的对象集合 类与对象的关系 类是对象的抽象 对象是类的实例 类具有层次关系,4、方法(methods),方法 是对象的行为方式(操
5、作) 对象与外界的接口 (公有方法) 作用 改变对象的属性 返回对象的属性,object 1 的方法,object 2的方法,?,5、消息(message),消息 对象之间相互请求或相互协作的途径,是要求某个对象执行某项操作的规格说明 消息内容 通常包含接收方及请求接收方完成的功能信息 发送方 发出消息,请求接收方响应 接收方 收到消息后,经过解释,激活方法,予以响应,消息的进一步理解,同一对象可接收不同形式的多个消息,产生不同的响应; 同一个消息可以发给不同的对象,所做出的响应可以截然不同; 发送方不需要知道接受方如何对请求予以响应的。,1.2.2 面向对象语言的三大特征,封装性 继承性 多
6、态性,(1)封装性 -信息隐藏 封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际,私有数据,方法,上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。,方法,数据,对象A,对象B,公有数据,(2)继承性(inheritance)重用,继承性是父类和子类之间共享数据和方法的机制; 继承性具有传递性; 继承性包括单继承和多重继承。,子类,继承部分,个性部分,父类,共性部分,继承性(inheritance),父 基类,子 派生类,继承性作用,使软件系统具有开放性 更好地进行抽象与分类 增强代码的重用率 提高可维护性,(3)多态性(polymorphism),
7、不同的对象收到同一个消息可产生完全不同的效果,这一现象叫做多态。 多态的效果 用户发送一个通用的消息,而实现 的细节则由接收对象自行决定。,多态性的作用,增强了操作的透明性、可理解性和可扩展性; 增强了软件的灵活性和重用性。,公式化描述,程序 = 对象 + 消息 面向对象=对象 + 类 + 继承 + 通信,1.3 Java语言的特点,Java语言,最早由Sun 公司推出,适用于企业网络和 Internet 环境。主要特点:与环境无关、可靠性好,是一种通用的、并发的、强类型的面向对象的编程语言。 特点如下:,Java是什么? Java= “C+” - “复杂性” + “安全性和可移植性” Jav
8、a由那些特点? (1)简单:语法类似C+;基础解释器和类40KB。 (2)面向对象 封装性、多态性、继承性 (3)操作平台无关性 严格的语言定义:“没有依据机器的不同而不同” 或“由编译器决定”等字眼,最后的目标码都是一致的,初值都是确定的,跨平台机制,Java虚拟机,不同的操作系统有不同的虚 拟机. 它类似一个小巧而高效的CPU. byte-code代码是与平台无关的 是虚拟机的机器指令. Java字节代码运行的两种方式: interpreter(解释方式) Just-in-time(即时编译):有代码 生成器将字节代码转换成本机 的机器代码,然后可以以较高速 度执行.,(4)可靠 安全:
9、强类型语言 显示的方法声明 不支持指针 垃圾自动回收 检查数组、字符串的越界访问 提供异常处理机制 安全方面: 数字签名 设置安全等级,其它: 可移植性、中立体系结构:一致的数据类型大小,一致的界面风格,不依赖于特定处理器和操作系统。 解释型:Java字节码文件在虚拟机上解释执行。 动态: 可以方便地获得实时类型信息。 分布式:易使用TCP/IP协议;易于访问URL资源。 多线程:多线程处理非常简单。 高性能:即时编译JIT。 健壮性:编译器的早期错误检查、虚拟机的后期动态检查。,Java的产生与发展过程,Green:1991年,Patrick Naughton和James Gosling领导
10、Sun的一个小组,着手设计一个用于消费类电子设备的计算机语言。该语言要满足两个要求,小和平台无关。采用了类C+语法和虚拟机的思想。最初起名Oak,后改为Java。 1992年,Green项目组提交的第一个产品。但是直到1994年,都没有找到一个客户。 HotJava:1994年中期,Java的开发人员意识到需要开发一个产品来证明Java的能力。1995年5月,HotJava浏览器完成,并在Sun World95上展出。 Java热潮:1995年秋,Netscape,IBM,Inprise,Microsoft等许多大公司宣布支持Java。 Java版本发展:1996年初发布1.0,两个月后发布1
11、.02,但不够实用。1998年12月发布1.2,3天后改名为Java2。Java2已经相当实用,特别是GUI图形工具类库,至此Java核心平台固定下来。现在的版本是Java2 1.5。,Java与其他语言的纵向比较,Java的先导知识与后继技术,Java与其他语言的横向比较,Java与C+,对于变量声明、参数传递、操作符、流控制等使用和C+相同的传统 摒弃了C和C+中许多不合理的内容 全局变量:Java中没有全局变量。 Goto语句:Java中有受限Goto语句break。 指针:Java不支持指针,但对象变量实际上都是指针。 数据类型的支持:Java在不同平台上数据类型都统一。 类型转换:J
12、ava有类型相容性检查。 结构和联合:Java只支持类。 多重继承:Java用接口实现类似多重继承的功能。 内存管理:Java自动回收无用内存。 头文件:Java支持包引入import。 宏定义和预处理:Java不支持宏定义。,Java语言及其派生,Java:一种程序设计语言,编写的程序运行于Java虚拟机上,具有跨平台的特点。 Java Script:一种能嵌在网页中运行的脚本语言,由Netscape发明,除语法与Java接近外没有其他关系。 Java Applet:Java小程序,用Java语言编写的一种运行在支持Java的浏览器中的特殊程序。 Jar文件:Java存档文件,采用Zip格式
13、将多个文件压缩打包成一个文件。 J2SE:Java 2 Standard Edition,标准版。 J2EE:Java 2 Enterprise Edition,企业版。 J2ME:Java 2 Micro Edition,微小版。,学习Java的四个层次,掌握Java的语言规则和养成良好的编程习惯 对类库使用的熟练程度 OO思想的掌握与应用 设计模式问题,1.4 Java 开发环境配置,目前Sun公司已发布了SDK的1.6版本。如果安装SDK选择安装到E:Jdk1.6目录下,则会生成如图1.1的目录结构。,返回,Java安装目录说明,1)系统环境Path 值的设置,SDK平台提供:bin文件
14、夹中 Java编译器(javac.exe) Java解释器(java.exe) 为了java的正常运行,应在系统特性中设置环境变量:path和classpath。 过程:用鼠标右键点击“我的电脑”,弹出菜单,然后选择属性,弹出“系统特性”对话框,再单击该对话框中的高级选项,然后点击按钮“环境变量”,添加如下的系统环境变量(如图1.2所示):,2)系统环境ClassPath 值的设置,如图1.3所示: 如果曾经设置过环境变量:ClassPath,可点击该变量进行编辑操作,将需要的值加入即可。 E:jdk1.5jrelibrt.jar;.; 也可以在命令行窗口,如MS-DOS窗口键入命令: set
15、 classpath=E:jdk1.5jrelibrt.jar;.;,Java程序的运行环境,Java是解释型的高级编程语言,Java虚拟机,运行Java程序的基本过程,1、利用编辑器编写 Java源程序 源文件名:主类名.java 2、利用编译器将源程序编译成字节码 字节码文件名:源文件名.class 3、利用虚拟机(解释器)运行 工作过程:载入、代码校验、解释执行,常见的Java开发环境,从网络上直接下载JDK(Java Developer Kit),并利用命令行方式操作 javac(编译器);java(解释器) Java集成开发环境(IDE) Visual J+、Visual Cafe、
16、JBuilder Java教学集成开发环境 eclipse(JDK6 版本的支持),二、Applet 和 Application,Java Application(Java应用程序):是一个完整的应用程序,可以独立地运行。 Java Applet(小应用程序):不是一个完整的应用程序,而是框架程序中的一个模块,所以只能在WWW 浏览器环境下运行。,Java Application举例,import java.io.*; public class MyFirstJavaProgram public static void main(String args ) System.out.println(“Hello World!”); ,Java Application程序基本结构,import语句,public class public static void mai