版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一讲Java和面对对象概述时间:2023年2月电子信息工程学院姜斌教材:第一章〔前三节〕学问要点本讲着重介绍Java语言中的背景学问和根本概念。具体涉及:本章将简要介绍软件开发方法的变革面对对象程序设计中的根本概念介绍Java语言的特点及开发Java程序的根本步骤等介绍Java语言特点、与C/C++的主要差异、Java程序执行过程、Java运行环境及开发工具等根本学问。内容概述一、面对对象软件开发方法概述二、面对对象的根本概念三、Java语言概述四、Java主要相关技术本章小结思考与练习课程前序把握或了解的概念
软件〔Software〕软件工程〔SoftwareEngineering〕计算机程序语言〔ProgrammingLanguage〕信息〔Information〕和数据〔Data〕计算机系统〔ComputerSystem〕数据库系统〔DatabaseSystem〕一面对对象软件开发方法概述60年月至80年月,早期传统的开发方法,软件开发方法是面对过程进开放发的;因此统称为面对过程的开发方法代表语言:有Fortran,Pascal,C语言等软件生产率低软件重用程度低软件维护艰辛软件非用户所需1.传统软件开发方法存在的问题特点:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。事例:五子棋1、开头玩耍, 2、黑子先走,3、绘制画面, 4、推断输赢,5、轮到白子, 6、绘制画面,7、推断输赢, 8、返回步骤2,9、输出最终结果。每一步都要走,这就是过程;然而用户需求的是可能变化的,因此这种变化对基于过程的设计来说是灾难。2.面对过程方法问题的归因3.面对对象方法特点特点:面对对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个过程中的属性和行为。而面对对象的设计则是从另外的思路来解决问题。对象有玩家〔Player〕,棋盘系统〔Chess〕,规章系统〔GameRule〕整个五子棋可以分为:1、黑白双方,这两方的行为是一模一样的,行为有下棋,悔棋等2、棋盘系统,负责绘制画面,3、规章系统,负责判定诸如执先手、犯规、输赢等。4.面对对象方法特点面对对象方法〔Object-oriented〕,以对象代表问题解的中心环节,力求符合人们的思维习惯,承受“对象+消息”的程序设计模式进展时间:90年月,进展和流行代表语言:Java,C++,C#,VB.NET地位:面对对象堪称是软件进展取得的里程碑式的宏大成就。包括局部:面对对象分析和设计〔OOAD〕,面对对象编码〔OOP〕,面对对象测试(OOT〕5.面对对象方法的主要优点符合人们通常的思维方式,承受“对象+消息”方式,易理解性降低或分解问题的难度和简洁性,可重用性好日趋成熟,标准化,体系化,标准性主流开发方法,可维护性好6.面对对象的软件开发生命周期开发一个软件系统需要有多个环节的,整个构成一个生命周期〔SDLC〕例子:瀑布式作用:可有效和高效地进展软件开发工作的组织,课件附有流行的一种生命周期过程附2:一种典型面对对象软件开发过程二、面对对象的根本概念简而言之:面对对象三元素=类+对象+消息面对对象三大特性封装性〔encapsulation〕继承性〔inheritance〕多态性(polymorphism)1.面对对象的根本概念2.面对对象三元素类〔class〕类描述对象的“根本原型”,是描述性的类别或模板,即对一组对象的抽象。它定义一组对象所能拥有的静态特征和动态行为在java中分别被称为属性〔Attribute〕和方法〔Method〕,用以说明该组对象的力气与性质,被编译后的类存在于class文件中。例如,小汽车car可以被抽象成类,它描述了全部小汽车的性质,包括汽车的品牌、型号、颜色、车门数、速度,即属性;还包括动态行为操作,如启动、驾驶、加速、刹车等等,即方法。别称:属性有时在某种语境下也被称为字段〔fields〕或变量〔variables〕方法有时在某种语境下被称为行为〔behaviors〕,一些程序员或中文资料中还误称为〔函数〕。对象〔object〕对象就是现实世界中某个具体的物理实体在计算机中的映射和表达。所以一个对象把属性和行为密封成一个整体,通过一个类作为模板可以建立多个对象,建立后的对象实例存在于内存中例如:以Car汽车类为模板,可以创立hammerCar,toyotaCar对象;这两个对象的是独立的个体,具有各自属性和相应方法。newnew万物皆对象!!!Brand:HammerType:H2Color:YellowDoor:4Drive()Brand:ToyotaType:FJ酷路泽Color:BlueDoor:2Drive()Memory消息〔message〕对象之间进展通信的一种构造叫做消息,消息传递是对象与其外部世界相互关联的唯一途径。对象可以向其他对象发出消息以恳求效劳,也可以响应其他对象传来的消息。
张三轿车A轿车A.启动()轿车A.驾驶轿车A.停顿3.面对对象的三大特性所谓封装又称为信息隐蔽(InformationHiding),是面对对象的根本特征。封装的目的在于将使用者与设计者分别,使用者不必知道操作实现的细节,只需用设计者供给的消息来访问对象。信息隐蔽的特点:1.在属性值访问上,一般属性是私有的,供给效劳的方法是公有的。2.内部实现受疼惜,供给的功能具体实现,实现细节不能够在对象外访问,有时也称为内部方法。3.面对对象的三大特性继承是面对对象语言中的一种重要机制,该机制自动地为一个类供给来自另一个类的操作和属性,这样程序员只需在新类中定义已有类中没有的属性与〔或〕操作来建立新类。多态性是指一个名字具有多种语义,即指同一消息为不同对象所承受时,可以导致不同的操作。
除遗传关系外,现实世界中还普遍存在着局部—整体关系。例如,飞机可由发动机、机身、机械把握系统、电子把握系统等构成。聚拢关系留意Java不支持多父继承。交通工具汽车轮船飞机三、Java语言概述1.什么是java语言2.JDK三种平台3.进展历史4.语言特点…1.什么是Java*(页1)JAVA是Sun公司开发(该公司已经于2023年被甲骨文公司收购)的一种面对对象的语言技术,通过它用户可以快速开发跨平台的、高效安全的单机或网络应用程序。2.Java语言三种平台简介〔页3〕Java要实现“一次写成,多处运行”,就必需供给多个平台J2SE---java2standardedition标准版,供给了标准的SDK开发平台〔也称为JDK〕,可开发低端java用于小型J2ME—java2microedition微型版,用于java的移动应用开发,适应于目前比较流行的嵌入式开发J2EE—java2enterpriseedition企业版,用于构建企业级的效劳应用,J2EE平台包括J2SE平台,并附加了企业级开发的类库。3.Java语言的进展历史(页1)1991:JamesGosling,BillJoy等人一起从事GreenProject中、产生新的语言Oak,1994下半年:WWW快速进展,得到Sun公司的支持,通过Oak开发的HotJava扫瞄器得到关注;随后Oak改名Java。1995:Java作为SUN公司开发工具产品,正式公布最早是1.0Java语言自1995年问世以来不断进展,开发平台的版本已经从早先的JDK1.0进展到JDK1.2.0,到当前广泛应用的JDK1.5.0,以及SUN最终开发的JDK1.6.0。Java语言的每一个版本的推出,都是对自身缺乏的抑制和完善。它日益成为网络应用的一支强有力的技术力气。〔留意从Java1.5后,Java的版本又分成内部版本和外部版本,例如:也称为5.0版,也称为7.0〕具有大转变的版本〔内部版本〕1.11.23.Java语言版本进展3.Java语言版本进展留意:2023年,由于Oracle收购了Sun公司,7.0和其他早期版本JDK,JRE下载都在Oracle的官网上,网站如下:Java〔SUN〕和.NET〔M$〕所属系列语言是开发两大阵营。在目前流行的B/S开发中,Java和.NET两种开发环境是两大阵营体系;而Java比后者具有更显著的可移植性,跨平台性,而且很多java工程往往是基于自由组织开发〔GNU〕协议的免费工程,可以自由地被用户工程所引用。4.Java语言的应用前景Java虚拟机〔JVM〕—软件虚拟的计算机,SUN公司供给各个操作系统上的Java虚拟机Java效劳器端技术---JSP/Servlet等技术为代表的效劳器5.Java语言的特点〔pg6-7〕5.Java语言的特点〔P2〕简洁性面对对象分布式处理强健性构造中立安全性系统精简,但功能齐备。风格类似于C++,对C++程序员而言特殊简洁把握。Java摒弃了C++中简洁引发程序错误的地方,如指针操作和内存治理;供给丰富的类库。完全是面对对象的,它不支持类似C语言那样的面对过程的程序设计技术。支持TCP/IP协议。Java应用程序可通过一个特定的URL来翻开并访问对象,就像访问本地文件系统那样简洁。供给面对对象的特殊处理机制,在编译时能对Null指针检测、数组边界检测、特殊出口字节代码校验等。自动垃圾收集来进展内存治理。将源程序编译成一种构造中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java语言供给的安全。编译器供给的安全。字节码校验。5.Java语言的特点可移植性解释性高性能多线程动态Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,而与体系构造无关。Java编译器将java源文件生成类文件.class,类文件可通过java命令解释执行,将Java字节码转换为机器码。
JIT编译器。可以提高Java代码的执行速度。
内置多线程功能,使得在一个程序里可同时执行多个小任务。带来的好处是更好的交互性和实时把握性。允许程序动态地装入运行过程中所需要的类,这是C++语言进展面对对象程序设计所无法实现的。6.Java程序的执行过程首先在某个操作系统下用编辑器编写代码,保存源代码〔.java〕,然后对编写的代码进展编译产生字节码文件〔.class〕编译后的程序其执行过程为:载入:Java的类载入器负责把程序中的全部字节码文件都加载到内存中。这些被装入内存的字节码文件可以保持在硬盘的当前名目下;代码校验:字节码全部载入内存后,Java的代码校验器开头检查这些字节码的合法性;解释执行:通过了代码校验的二进制字节码程序被交给解释器逐句的解释并运行。编译型源程序可执行程序exe编译连接运行操作系统Java源程序字节码程序解释编译裸机二进制运行图1.Java程序运行过程和编译型程序运行过程比照字节码程序二进制运行二进制二进制Linux平台图2.Java虚拟机和跨平台解释运行Unix平台Windows平台解释器JVM〔虚拟机〕Java在根本类库中,供给了大量的类以满足网络化、多线程、面对对象系统的需要,类库包含有类包,例如:类包有:java.lang,java.io,,java.awt,java.util等等。7.丰富的类库〔P4〕对于变量声明、参数传递、操作符、流把握等,Java使用了和C、C++一样的传统,使得生疏C、C++的程序员能很便利地进展编程。同时,Java为了实现其简洁、鲁棒、安全等特性,也摒弃了C和C++中很多不合理的内容,例如多父继承,运算符重载。8.Java和C、C++
实践:第一个Java程序像一个Baby在世界发出第一声叫声一样;我们一起做一个Java程序HelloWORLD;对它进展编辑,编译,解释运行工作,看看虚拟机的工作过程;IamCindy,1monthold
创立简洁的Java程序代码分析行1为注释。行2定义了用户自定义类HelloWorld。行2和行6的花括号对定义了代码块,其中的代码为类HelloWorld的实现。行3定义了类HelloWorld的一个成员,即名为main的方法。main方法是使用static修饰符声明的静态方法,将作为程序的入口点。行3和行5的花括号对定义了代码块,其中的代码为main方法的实现。行4通过调用System.out.println(“HelloWorld!“),在把握台上输出字符串:HelloWorld!。编译和运行结果javacHelloWorld.java产生一个名HelloWorld.class的文件,即字节码的类文件运行应用程序javaHelloWorld输出结果:HelloWorld!四、Java语言相关重要概念1.Java的应用程序类型〔P3〕它适于:跨平台/多平台的应用程序基于Web的分布式网络应用程序〔B/S〕基于GUI的应用程序企业级应用程序多线程应用程序关键任务的〔数据库〕应用程序分布式网络应用程序手机移动应用程序随着技术进展,Java和其他语言各有新技术纳入到体系2.Java核心概念1〕.JDK(JavaDevelopmentKit)〔P5〕即java开发环境。JDK是Sun公司开发的一个免费的Java开发工具集,供给了Java开发、运行和测试一体的环境,它包含完整的JRE2〕.JRE(JavaRuntimeEnvironment)〔P4〕即Java运行环境。JRE只是Java的运行环境,供给了Java程序运行所需要的根本类库。留意:JRE一般是和JDK捆绑下载的,假设只需要在平台下运行java程序的,不需要开发的,可以下载JRE的单独版原来安装3〕.JVM(JavaVirtualMachine)〔P4〕即Java虚拟机,它是一个软件系统,可依据于不同操作系统下,它可以编译,解释并运行Java字节码。它是Java的核心,保证了在任何异构的环境下都可以运行Java成,解决了Java跨平台的问题。4〕.字节码文件〔ByteCode〕与传统的解释型高级语言不同,Java源程序不是直接交给解释器解释,而是通过一个与编译型语言相像的编译过程,把Java源程序翻译成一种特定的二进制字节码文件〔扩展名为class〕,再把这个字节码文件交给Java解释器来解释执行。5〕.API〔ApplicationProgrammingInterface〕是J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度广告牌拆除工程质量评估合同
- 2024年度特许经营合同的特许经营权标的及义务
- 2024年度股权投资合同的投资金额及出资方式
- 2024年度企业形象设计及推广合同2篇
- 2024年度广告代理合同:广告公司为品牌提供广告代理服务
- 2024年度电脑系统集成合同:操作系统迁移、数据迁移及优化3篇
- 《齿轮加工》课件
- 《薪酬与考核方案》课件
- 《低血容量休克学习》课件
- 2024年度汽车4S店销售劳动合同2篇
- 大课间跑操细则
- 海底两万里的物理知识
- 教学查房-子宫内膜息肉
- ISO9001-ISO14001-ISO45001三体系内部审核检查表
- 东南大学考研中国建筑史论述题
- 中国城市代码对照表
- 黑水虻处理餐厨垃圾与畜禽粪便的资源化循环利用项目可行性研究报告
- 工程施工人员安全教育培训
- 概率论与数理统计智慧树知到答案章节测试2023年中国农业大学
- 六顶思考帽与创新思维训练
- 模具加工计划进度表-05
评论
0/150
提交评论