第1章 Java语言概述
学习导读 Java 语言是对软件开发技术有深远影响、应用前景广泛、具有丰富的类库、继承了C++传统(摈弃了某些不足)广泛使用的网络编程语言。Java语言的特性使它可以最大限度地利用网络。 本章介绍面向对象的基本概念:对象和类,对象的属性。 一些Java技术相关的特性与名词
课程结构 1.1 面对对象的软件开发概述 1.2 面对对象的基本概念
1.1 面对对象的开发概述 1.计算机硬件和计算机软件 计算机的硬件组成 中央处理单元,内存单元,输入输出单元,外存单元 软件运行方式:冯 诺依曼式计算系统 存储+运行
1.1 面对对象的开发概述 2.计算机结构的发展 主机-终端 单机 客户机/服务器模式 浏览器/服务器
1.1 面对对象的开发概述 3. 程序设计语言分四个发展阶段: 第一代语言(1GL) : 二进制机器代码 第二代语言 (2GL) : 汇编语言 (Low Level Language LLL) 第三代语言 (3GL): 高级语言 (HLL) C,Pascal,Basic 第四代语言(4GL) : 面向对象语言(00P ) C++ ,Java
1.2 面向对象的基本概念 简而言之: 面对对象程序设计围绕的几个主要概念: 面向对象=对象+类+继承+消息 1.2 面向对象的基本概念 简而言之: 面向对象=对象+类+继承+消息 面对对象程序设计围绕的几个主要概念: 抽象数据类型、类、类型层次(子类),继承性、多态性。 抽象数据类型:明确地把数据模型与作用在该模型上的运算紧密地联系起来,形成一个整体
1.2 面向对象的基本概念 1.对象 在面向对象的系统中,面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机中的映射和体现。 1.2 面向对象的基本概念 1.对象 在面向对象的系统中,面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机中的映射和体现。 对象是由属性和操作所构成的一个封闭整体。 属性值规定了对象所有可能的状态。 对象的操作是指该对象可以展现的外部服务。 例如,大型客机可视为对象,它具有位置、速度、颜色、容量等属性,对于该对象可施行起飞、降落、加速、维修等操作,这些操作将或多或少地改变飞机的属性值(状态)。 对象在计算机内存中的映像称为实例
1.2 面向对象的基本概念 2. 类 它定义一组对象所能拥有的共同特征(属性和能完成的操作),用以说明该组对象的能力与性质。 1.2 面向对象的基本概念 2. 类 它定义一组对象所能拥有的共同特征(属性和能完成的操作),用以说明该组对象的能力与性质。 在面向对象的程序设计中,类是程序的基本单元 例如,飞行器类包含位置、速度、颜色等属性,以及起飞、降落、加速等操作。
1.2 面向对象的基本概念 3.消息 比较以下和结构化编程函数调用的不同。 消息是对象之间进行通信的一种数据结构。 1.2 面向对象的基本概念 3.消息 消息是对象之间进行通信的一种数据结构。 程序的执行是靠对象间传递消息来连接的,即所谓的消息驱动。 消息一般由三部分组成,即消息的接收对象名、消息操作名和必要的参数。 汽车.加速(200公里) 比较以下和结构化编程函数调用的不同。
1.2 面向对象的基本概念 4.面对对象的特征 (1).抽象 (2).封装 (3).继承 (4).多态
1.2 面向对象的基本概念 抽象和封装 封装的目的在于将使用者与设计者分离,使用者不必知道操作实现的细节,只需用设计者提供的消息来访问对象。 1.2 面向对象的基本概念 抽象和封装 封装的目的在于将使用者与设计者分离,使用者不必知道操作实现的细节,只需用设计者提供的消息来访问对象。 面向对象中封装可按下面具有三个内涵的方式定义: 1)一个清楚的界面,所有对象的内部软件的范围被限定在这个边界内。 2)一个接口,这个接口描述了该对象与其他对象之间的相互作用。 3)受保护的内部实现,这个实现提供对象的相应的软件功能,实现细节不能在定义这个对象的类的外面访问
1.2 面向对象的基本概念 继承 bicycle (super class) sub class Mountain bikes 1.2 面向对象的基本概念 继承 继承是面向对象语言中的一种重要机制,该机制自动地为一个类提供来自另一个类的操作和属性,这样程序员只需在新类中定义已有类中没有的属性与(或)操作来建立新类。 Java语言只提供单重继承。 bicycle (super class) Mountain bikes Racing bikes Tandem bikes sub class
1.2 面向对象的基本概念 多态 多态性是指一个名字具有多种语义,即指同一消息为不同对象所接受时,可以导致不同的操作。在面向对象编程语言中,它是指对象拥有同名,但不同参数格式的许多方法的能力。 程序设计的多态性有两种基本形式:编译时多态性和运行时多态性。 编译时多态性是指在程序编译阶段就可确定选择哪个方法的多态性 而运行时的多态性则必须等到程序动态运行时才可确定的多态性。
1.3 Java语言概述 1. Java产生的历史 2. Java的现状与发展前景
1.3 Java语言概述 3.Java语言特点 Java是一种简单的(Simple)、面象对象的(Object Oriented)、分布式的(Distributed)、解释的(Interpreted)、健壮的(Robust)、安全的(Secure)、结构中立的(Architecture Neutral)、可移植的(Portable)、性能优异的(High Performance)、多线程的(Multithreaded)动态的(Dynamic)语言。 java语言的编译方式: Java编译器把Java源程序翻译成被称为字节码的中间代码。
1.3 Java语言概述 两种工作模式的比较 pentium 源 程 序 Java编译器 SPARC Powerpc 中间码 二进制 编译器
1.3 Java语言概述 Java虚拟机 Java interpreter Just-in-time compiler Java语言为每个计算机系统都提供一个叫做Java虚拟机(JVM)的环境,它包括一个编译器和一套软件系统。 Java interpreter Just-in-time compiler Runtime System Operating System Hardware 不同的操作系统有不同的虚拟机. 它类似一个小巧而高效的CPU. byte-code代码是与平台无关的 是虚拟机的机器指令. Java字节代码运行的两种方式: interpreter(解释方式) Just-in-time(即时编译):有代码 生成器将字节代码转换成本机 的机器代码,然后可以以较高速 度执行.
1.3 Java语言概述 Java 语言的特点 课本P7页 简单—和C++相比 面向对象—完全面向对象 分布性---具有支持网络协议的类库 健壮性----强类型检查,取消指针,自动管理内存 结构中立----生成一种与体系结构无关的文件 安全性----取消指针,自动管理内存;浏览器安全验证集成 可移植性----字节码+数据类型定义一致,可不做任何修改运行于各平台上 解释执行—依靠java解释器执行 高性能—依靠JIT技术可以达到很高的性能(特别在网络服务上) 多线程—执行多个程序段,更好的交互效果和实时控制效果 动态性—允许动态装入类 课本P7页
4.Java的应用程序类型和Java技术名词介绍 l 多平台应用程序 l Web应用程序 l 基于GUI的应用程序 l 面向对象的应用程序 l 多线程应用程序 l 关键任务的应用程序 l 分布式网络应用程序 l 安全性应用程序
1.3 Java语言概述 重要技术名词 1)JVM(Java Virtual Machine),即Java虚拟机。 2)JRE(Java Runtime Environment),即Java运行环境。 3)JDK(Java Development Kit),即Java开发环境。 4)Servlet Servlet是指利用Java技术设计的、运行在服务器端的一种程序 5)JSP(Java Server Pages),是一种以Java为主的跨平台Web开发语言。 6)AWT(Abstract Window Toolkit),即抽象窗口工具包, 7)JFC(Java Function Class),即Java基础类库。 8)J2EE(Java 2 Platform,Enterprice Edition),即Java 2企业级平台。
1.3 Java语言概述 9)JavaBean JavaBean是一种专门为Java软件开发者设计的全新的组件技术。 10)EJB(Enterprise Java Bean),即企业级Java组件。 11)RMI(Remote Method Invocation),即远程方法调用。 12)JINI JINI技术规范提供了构成电子设备、服务和应用程序网络所使用的机制。 13)JDBC(Java Database Connectivity),即Java数据库连接。 14)JNDI(Java Naming and Directory Interface),即 Java 命名和目录接口。 15)JMS(Java Message Service),即Java通信服务。 课本P9