第一章面向对象程序设计及Java概述_第1页
第一章面向对象程序设计及Java概述_第2页
第一章面向对象程序设计及Java概述_第3页
第一章面向对象程序设计及Java概述_第4页
第一章面向对象程序设计及Java概述_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、主讲教师:李丹丹2022-5-171教材:教材:Java面向对象程序设计面向对象程序设计韩雪主编韩雪主编人民邮电出版社人民邮电出版社20122012年年9 9月出版月出版2022-5-172课程内容介绍课程内容介绍 第第1 1章章 面向对象程序设计及面向对象程序设计及JavaJava语言概述语言概述第第2 2章章 JavaJava语言基础语言基础第第3 3章章 类与对象类与对象第第4 4章章 继承与多态继承与多态第第5 5章章 接口与内部类接口与内部类第第6 6章章 输入输入/ /输出和异常处理输出和异常处理第第7 7章章 图形用户界面的实现图形用户界面的实现第第8 8章章 AppletApp

2、let应用程序应用程序第第9 9章章 网络通信网络通信第第1010章章 高级应用高级应用2022-5-173第一章第一章 Java语言概述语言概述2022-5-1742022-5-1751.1面向对象程序设计面向对象程序设计类类对象对象封装封装继承继承多态多态1.2Java概述概述Java的起源和发展的起源和发展Java技术体系技术体系Java的特点的特点JavaJava的安装及运行的安装及运行 1.1.1 1 面向对象程序设计的基本概念面向对象程序设计的基本概念一、一、认识事物的过程:认识事物的过程: 事物事物-属性属性 如:自行车如:自行车-自行车颜色自行车颜色 整体整体组成部分组成部分

3、如:自行车如:自行车车轮车轮 类类类类 如:自行车如:自行车山地车山地车自行车:数据(属性)车架尺寸车轮尺寸牌子材料名称 操作 移动 变速 修理2022-5-176分类分类特点:将数据特点:将数据及数据的操作及数据的操作封装在一起封装在一起1.1.1 1 面向对象程序设计的基本概念面向对象程序设计的基本概念二、面向对象二、面向对象客观事物:客观事物:客观世界由许多不同种类的客观世界由许多不同种类的对象对象构成。构成。对象都具有属性和行为。对象都具有属性和行为。通过通过抽象机制抽象机制找出同一类对象的共同属性和行为,找出同一类对象的共同属性和行为,形成类。形成类。2022-5-177什么是抽象什

4、么是抽象1.1 面向对象程序设计的基本概念 1.1 抽象抽象抽象:把客观世界的抽象:把客观世界的事物事物划划分分成成类类的过程。的过程。2022-5-178抽象性抽象性数据抽象数据抽象抽象出事物抽象出事物 共有共有的的属性属性或或状态状态 类类的的 属性属性行为抽象行为抽象抽象出事物抽象出事物共共有有的的行为行为或或功功能能 类类的的 操作操作1.1 面向对象程序设计的基本概念 抽象过程:企业员工工资管理系统。抽象过程:企业员工工资管理系统。 问题空间中,企业所有员工具有问题空间中,企业所有员工具有共性共性,构成一个,构成一个类类员工类。员工类。对对员工类员工类共性的提取共性的提

5、取:2022-5-179l 数据抽象数据抽象 :int m_iStaffNum / 工作编号 String m_pName / 姓名 float m_fBasicSal / 基本工资 float m_fRateOfAttend / 出勤率 l 行为抽象行为抽象 :SetBasicSal ( ) / 设置基本工资 GetBasicSal ( ) / 查询基本工资 CalculateSal( ) / 计算实际发放工资 员工类员工类工作编号;工作编号;姓名;姓名;基本工资;基本工资;出勤率出勤率;设置基本工资;设置基本工资;查询基本工资;查询基本工资;计算实发工资;计算实发工资;类名类名操作操作属性

6、属性设置基本工资;设置基本工资;查询基本工资;查询基本工资;计算实发工资;计算实发工资;设置基本工资;设置基本工资;查询基本工资;查询基本工资;计算实发工资;计算实发工资;设置基本工资;设置基本工资;查询基本工资;查询基本工资;计算实发工资;计算实发工资;操作操作设置基本工资;设置基本工资;查询基本工资;查询基本工资;计算实发工资;计算实发工资;属性属性操作操作设置基本工资;设置基本工资;查询基本工资;查询基本工资;计算实发工资;计算实发工资;工作编号;工作编号;姓名;姓名;基本工资;基本工资;出勤率出勤率;属性属性设置基本工资;设置基本工资;查询基本工资;查询基本工资;计算实发工资;计算实发

7、工资;工作编号;工作编号;姓名;姓名;基本工资;基本工资;出勤率出勤率;1.1 面向对象程序设计的基本概念.2类类 与与 对象:对象:l 从所有员工共性中抽象出属性和行为构成一个从所有员工共性中抽象出属性和行为构成一个员工类员工类, 每个员工属于该类的一个每个员工属于该类的一个对象对象。l 类中所有对象共享类中所有对象共享 类是对象中所有共同的特性类是对象中所有共同的特性. .l 类是对象的类是对象的抽象抽象 程序中:只有类程序中:只有类. .l 对象是类的对象是类的实例实例 运行时:只有对象运行时:只有对象. .2022-5-17101.1 面向对象程序设计的基本概念 简单类

8、简单类 下面是一个下面是一个BoxBox类,该类定义了三个实例变量,但不类,该类定义了三个实例变量,但不包含任何方法或操作。包含任何方法或操作。 class Boxclass Box double width;double width;double height;double height;double depth;double depth; 一个类定义一个新的数据类型,上面新的数据类型称一个类定义一个新的数据类型,上面新的数据类型称为为BoxBox。可以使用此名称来声明。可以使用此名称来声明BoxBox类型对象类型对象1.1 面向对象程序设计的基本概念 创建一个创建一个BoxBox对象,用下

9、列语句对象,用下列语句 Box mybox=new Box();Box mybox=new Box(); 上述语句执行后,上述语句执行后,myboxmybox将称为将称为BoxBox的一个实例的一个实例。物理上它变成真实的了。物理上它变成真实的了。 每个对象包含它自己类中声明的实例变量的副每个对象包含它自己类中声明的实例变量的副本。故每个本。故每个BoxBox对象都将包含自己的实例变量对象都将包含自己的实例变量width,heightwidth,height和和depthdepth的副本,要访问这些变的副本,要访问这些变量,使用量,使用. .运算法。运算法。 例如:例如:mybox.width

10、=100;mybox.width=100;1.1 面向对象程序设计的基本概念 1.1.3 封装封装2022-5-1713使用者关心:使用者关心: 功能功能 使用方式使用方式不关心:不关心: 灯泡内部结构灯泡内部结构接口设计者:设计者:提供功能说明;提供功能说明;给出使用接口;给出使用接口;封装封装内部结构;内部结构;电灯灯泡电灯灯泡封装性封装性1.1 面向对象程序设计的基本概念 封装封装:数据和加工处理该数据的方法数据和加工处理该数据的方法紧密结紧密结合在一起构成黑匣子的整体。合在一起构成黑匣子的整体。 封装实现了封装实现了信息隐藏信息隐藏。 成员变量一般情况下设置为成员变量一般情况下设置为p

11、rivateprivate,如果需,如果需要修改读取,应使用公共的访问方法,其他类要修改读取,应使用公共的访问方法,其他类中的代码必须通过调用方法访问该成员变量,中的代码必须通过调用方法访问该成员变量,而不是直接使用。而不是直接使用。2022-5-1714Public class Desk /封装单元(类)封装单元(类)/* 数据封装数据封装 */ /private为内部隐藏标志为内部隐藏标志Private int height; /height为桌子的高为桌子的高Private int width; /width为桌子的宽为桌子的宽/* 行为封装行为封装 */ /public为外部接口标志为

12、外部接口标志Public void setProperty(int i,int j)/该函数设置桌子的高和宽,只有输入的值大于该函数设置桌子的高和宽,只有输入的值大于0时,才合法时,才合法if (i0)this.height=i;system.out.println(“设置桌子高成功设置桌子高成功”);else system.out.println(“设置高出错设置高出错”)if (j0)this.width=j;system.out.println(“设置桌子宽成功设置桌子宽成功”);else system.out.println(“设置高出错设置高出错”)Public class samp

13、le public static void main(String args)/创建创建desk对象对象 Desk d=new Desk();/访问成员变量访问成员变量height和和widthd.setProperty(-100,200)2022-5-1715 在这个在这个DeskDesk类中类中: : 一方面,桌子的数据被严密地一方面,桌子的数据被严密地隐藏隐藏起来,以避起来,以避免在类外的函数错误地访问它们。免在类外的函数错误地访问它们。 隐藏数据的主要机制是将数据设置为类的隐藏数据的主要机制是将数据设置为类的私有私有成员成员,只允许从类的内部访问。,只允许从类的内部访问。 另一方面,公

14、有的行为另一方面,公有的行为setProperty(int i,int setProperty(int i,int j)j)允许从类的外部允许从类的外部直接访问直接访问。 这样就能这样就能合理地合理地控制对类中成员的访问,保护控制对类中成员的访问,保护数据的安全性。数据的安全性。 2022-5-1716合理隐藏合理隐藏1.1.1 1 面向对象程序设计语言的基本原理面向对象程序设计语言的基本原理1.1.3 继承性继承性 客观世界:客观世界:一般和特殊一般和特殊 一般是某类事物的共性;一般是某类事物的共性; 特殊具有一般的特性,同时又有自己的新特殊具有一般的特性,同时又有自己的新特性。特性。 站在

15、巨人的肩头上,用户在开发新系统时,站在巨人的肩头上,用户在开发新系统时,可以继承原有相似功能或者从类库中选取需要可以继承原有相似功能或者从类库中选取需要的类,再派生新类。的类,再派生新类。2022-5-1717继承性继承性1.1.1 1 面向对象程序设计语言的基本原理面向对象程序设计语言的基本原理 基类(即父类、超类)基类(即父类、超类) 派生类(即子类)派生类(即子类) 派生类派生类从它的基类继承所有的特征,然后又添从它的基类继承所有的特征,然后又添加自己的新特征。加自己的新特征。 基类表达一般性,派生类还表达其特殊性。基类表达一般性,派生类还表达其特殊性。 作为对客观世界分层特性的一种自然

16、描述,作为对客观世界分层特性的一种自然描述,继继承承可以让程序员充分利用已有的类去派生新类,可以让程序员充分利用已有的类去派生新类,在更大程度上实现代码的重用。在更大程度上实现代码的重用。2022-5-17181.1 面向对象程序设计语言的基本原理图图1.1汽车的分类汽车的分类2022-5-17191.1.1 1 面向对象程序设计语言的基本原理面向对象程序设计语言的基本原理1.1.4 多态性多态性 客观世界:一个抽象的信息,具有多重含义。客观世界:一个抽象的信息,具有多重含义。 程序设计语言:程序设计语言: 在实际中的含义就是不同的对象有相同的轮廓或形态在实际中的含义就是不同的对象有相同的轮廓

17、或形态,但具体执行的过程却大相径庭。例如,驾驶员在开,但具体执行的过程却大相径庭。例如,驾驶员在开车时都知道车时都知道“遇到红灯时刹车遇到红灯时刹车”,这与驾驶员驾驶的,这与驾驶员驾驶的是什么型号的车无关,所有的车都具有相同的轮廓或是什么型号的车无关,所有的车都具有相同的轮廓或形态的刹车。形态的刹车。 在在Java开发中,基于继承的多态就是指对象功能的调开发中,基于继承的多态就是指对象功能的调用者用超类的引用来进行方法调用。这样,可以提高用者用超类的引用来进行方法调用。这样,可以提高灵活性,因为用超类的引用能调用各种不同的子类实灵活性,因为用超类的引用能调用各种不同的子类实现,就像汽车驾驶员可

18、以开各种不同的汽车一样。现,就像汽车驾驶员可以开各种不同的汽车一样。这这即为程序设计语言中的即为程序设计语言中的多态性多态性( (polymorphism)polymorphism)。 函数重载:函数重载:同一个函数名被赋予不同的功能实现。同一个函数名被赋予不同的功能实现。 2022-5-1720多态性多态性1.2.1Java是什么 Java由sun公司开发和发布。 Java是一种高级程序设计语言。 Java是一种面向对象程序设计语言。 Java是一种网络编程语言。 Java技术是目前Internet应用开发的主流技术之一。1.2 Java概述概述1.2.2Java的起源和发展 1991年,S

19、un 公司的一个开发小组以C+为基础创建了程序设计语言Oak(橡树) ,具有突出的平台独立性、高度的可靠性和安全性特点。 运行于浏览器中的Oak小程序可使WWW具有交互性和动态性,Sun决定将Oak技术与WWW技术结合起来,采用允许用户在Internet上免费使用的策略。 1.2 Java概述概述 1995年1月,Sun公司完成了Oak的新版本和第一个基于Oak的应用程序Web Runner。Oak从此更名为Java。众多WWW厂商宣布支持Java 。 1996年1月,Sun发布了第一个Java开发工具包JDK 1.0。 1997年2月,Sun发布了JDK 1.1。 1998年12月,Sun发

20、布了Java 2平台及JDK 1.2。 1999年6月,Sun重新定义了Java技术的架构,将Java 2平台分为三个版本:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)。自JDK 1.2后,Sun又相继发布了j2sdk 1.3、j2sdk 1.3.1、j2sdk1.4、j2sdk1.5等。1.2.3 Java技术体系(3个分支) J2SEJava 2 Platform Standard Edition Java 2 平台标准版,J2SE的最早版本即的最早版本即JDK 1.2。目前目前J2SE仍然仍然可以称为可以称为JDK。包含构成。包含构成Java语言核心的类,如数据库连接、接语

21、言核心的类,如数据库连接、接口定义、输入口定义、输入/输出、网络编程等。输出、网络编程等。 J2EEJava 2 platform Enterprise Edition Java 2平台企业版,J2EE定义了基于组件的多层企业级应用的开定义了基于组件的多层企业级应用的开发标准发标准,包含包含J2SEJ2SE中的类,为企业级应用的开发提供各种服务、中的类,为企业级应用的开发提供各种服务、工具。工具。J2MEJava 2 platform Micro Edition Java 2平台微缩版,是针对消费类电子设备的嵌入式计算的一组技是针对消费类电子设备的嵌入式计算的一组技术和规范,对术和规范,对J2

22、SE进行了语言精简,并对运行环境进行了高度优进行了语言精简,并对运行环境进行了高度优化。化。 3者的关系是:者的关系是:J2EE包含包含J2SE,j2se包含包含J2ME的部分核心类,添加的部分核心类,添加了一些专有类。这了一些专有类。这3部分构成了部分构成了Java语言体系。语言体系。1.2 Java概述概述Java技术概念 SDK JDK JRE JVM Java平台Java技术概念 SDK:Java Software Develop Kit,Java开发程序包,提供Java开发环境,及相关文档、范例和工具的集合。 JDK:Java Develop Kit,Java开发包,提供运行环境、开

23、发环境,包括编译、调试、运行Java程序的工具。它是整个Java的核心,是用来编写Java的applet和应用程序的开发环境。JDK是一切Java应用程序的基础,所有的Java应用程序都是构建在这个之上Java技术概念 JRE:Java Runtime Environment,Java运行环境或Java平台。Java程序要在JRE下才能运行,工具的运行也需要JRE。安装JDK时,JRE被安装一个独立的目录中。Java技术概念 JVM:Java Virtual Machine,Java虚拟机。 JVM提供了Java程序运行的必要环境。在物理计算机上虚拟各种计算机的功能,具有相应的指令系统。可将其

24、理解为一个抽象的计算机。JVM是实现跨平台运行的主要工具。 JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java平台 Java平台使Java程序与底层平台隔离。Java平台有两个部分组成:Java虚拟机(JVM)与Java API。 Java API Java API Java应用编程接口。 Java类库集合,这些类以包(package)的形式组织,提供了丰富的功能,例如图形化用户界面、输入输出等。 Java API既能使应用系统访问底层平台服务,又能保证Java应用系统不依赖于具体的底层平台。所以,不仅支持和简化应用系统的开发,而且使应用程序具有可移植性。1.

25、1.4 Java的特点 Java语言具有面向对象、网络编程、稳定性、安全性、平台无关、可移植、解释型、多线程、高性能、动态性、简单易学等特点。 1.3.1 Java开发和运行环境 1.3.2 Java编程方式 1.3.3 Java常用命令13 Java开发和运行环境开发和运行环境1.3.1 Java开发和运行环境 对Java语言,程序运行既要经过编译又要进行解释。 首先,Java程序由编译器进行编译,产生与平台无关的Java字节码, Java字节码是可被Java虚拟机(JVM)识别的代码。 Java解释器是JVM的实现,它把字节码转换为底层平台的机器码,使Java程序最终得以运行。 开发的流程

26、 (1)编写形成一个.java文件 (2)编译成一个类文件.class:读入程序、检查语法、生成可执行的字节码文件。 (3)解释执行1.3.2 Java编程方式 简单编辑工具+命令方式 Notepade、EditPlus 图形工具平台软件 Elipse、MyElipse、Jboss、NetBean等等1.3.3 Java运行环境及配置 安装JDK环境 配置环境参数安装JDK环境 JDK1.5.0_16 下载http:/ 安装JDK和JRE配置环境参数设定系统的Path和classpath参数 Path设定命令程序、可执行程序执行目录。 classpath 指定Java类的存储目录。告诉Java

27、应用程序去哪里找第三方和自定义类,即不是Java扩展或Java平台一部分的类。设定方式 方式一,通过系统属性的环境变量设定 方式二,在Dos模拟窗口中设定环境参数设置方式方式一、Dos命令方式:在Dos模拟窗口中,直接设定: Set path=指定的路径; %path% %path%表示系统变量名,% %是格式符 数值之间用“;”区分 例:设文件javac.exe和java.exe都在D:JavaJDK中,请指定它们的默认执行目录 ? 若可执行文件在E:design中,指定默认执行目录 ? 设定classpath Set classpath= ;%classpath%例:要求Java类(.cl

28、ass)文件在D:JavaL中,请设定环境变量classpath的数值例:若类在例:若类在D:JavaDevelopment中呢?中呢?环境参数设置方式 方式二、通过系统属性设定:“我的电脑”-“属性”-“系统属性”-高级-“环境变量” 一个简单的Java源程序import java.io.*;public class HelloJavaWorld public static void main(String args) String buf=Hello,Java World; System.out.println(buf); Java常用命令 (1)编译Javac (2)执行Java编译Javac 功能:将Java源文件编译成为字节码文件。 格式:Javac d 生成类文件的目标目录 java源文件名 例:将源文件Hello.java编译成类文件,存储在D:Javalearn中,请输入Dos语句? 将源文件First.java编译成类文件,存储在D:JavaDevelopment中,请输入Dos语句?执行命令Java 功能:解释执行Java字节码文件。 格式:Java

温馨提示

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

评论

0/150

提交评论