第一讲 Java概述与面向对象基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第一讲 Java概述与面向对象基础课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一讲 Java概述与面向对象基础课件 第一 Java 概述 面向 对象 基础 课件
- 资源描述:
-
1、上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-292w软件与编程软件与编程w什么是什么是JavawJava的历史的历史wJava的特点的特点wJava相关的概念相关的概念w面向对象概念面向对象概念wJava与面向对象与面向对象上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-294w1821年,英国数学家年,英国数学家C.Babbage(1791-1871)设计)设计了差分机,这是第一台可自动进行数学变换的机器,因此了差分机
2、,这是第一台可自动进行数学变换的机器,因此他被称为他被称为“计算之父计算之父”。此后,他又设计了能够处理数学。此后,他又设计了能够处理数学公式的分析机。然而,这两种机器都没有真正实现。公式的分析机。然而,这两种机器都没有真正实现。wAda Lovelace(1815-1852)为)为 Babbage 的分析机设的分析机设计了程序,被称为计了程序,被称为“第一位程序员第一位程序员”。上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-295wGrace Hopper于于1943年参加美年参加美国海军,并参与了国海军,并参与了Mark 1的研制的研制工作;工作;1946年为年
3、为UNIVAC 1开发开发了第一个高级语言编译程序;了第一个高级语言编译程序;1959年开发了第一个面向商业信年开发了第一个面向商业信息处理的语言息处理的语言COBOL的编译程序;的编译程序;于于1973年和年和1985年分别晋升为美年分别晋升为美国海军上校与海军少将。国海军上校与海军少将。wHopper 是第一位发现并排除了程是第一位发现并排除了程序错误(序错误(bugs)的人。此后,人)的人。此后,人们把发现和排除程序错误的过程称们把发现和排除程序错误的过程称为为 debugging,把这样的软件工,把这样的软件工具称为具称为 debuger.上海交通大学计算机科学与工程系上海交通大学计算
4、机科学与工程系2022-7-296w计算无所不在,软件无所不在计算无所不在,软件无所不在n软件不仅仅是在计算机上运行的程序软件不仅仅是在计算机上运行的程序n对于客观世界的认识,和对问题求解对于客观世界的认识,和对问题求解的思维与模式的思维与模式.它把现代科学研究和它把现代科学研究和工程问题求解嵌入在各种类型的系统工程问题求解嵌入在各种类型的系统中,是现代产品和服务的关键因素中,是现代产品和服务的关键因素w软件的应用领域软件的应用领域n商业、金融、交通、医疗、电信、军商业、金融、交通、医疗、电信、军事、工业生产过程、娱乐、办公事、工业生产过程、娱乐、办公 n系统软件,实时软件,商业软件,工系统软
5、件,实时软件,商业软件,工程和科学计算软件,嵌入式软件,个程和科学计算软件,嵌入式软件,个人计算机软件,基于人计算机软件,基于Web的软件的软件(网站),人工智能软件(网站),人工智能软件 上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-297上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-298上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2910w由由Sun Microsystems(James Gosling)开)开发发w是一种通用的编程语言是一种通
6、用的编程语言w基于基于C/C+w针对针对Web/Internet应用应用w广泛应用广泛应用上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系wJava powers more than 4.5 billion devices including:n800 million PCs n1.5 billion mobile phones and other handheld devices(source:Ovum)n2.2 billion smart cards nSet-top boxes,printers,Web cams,games,car navigation systems,lo
7、ttery terminals,medical devices,parking payment stations,and more.2022-7-2911上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2912上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2913w是一门编程语言是一门编程语言:Java是是SUN公司开发的源于公司开发的源于Internet的一种现代程序设计语言。多年来,的一种现代程序设计语言。多年来,SUN公司对公司对Java产品不断改进升级,使之紧跟产品不断改进升级,使之紧跟时代步伐,满足了日益复杂的软件开发需求。时代步
8、伐,满足了日益复杂的软件开发需求。w是一种体系架构是一种体系架构w是一种思考方式是一种思考方式w是一个运行环境是一个运行环境上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2915wJava是是Sun公司公司1995年正式推出的新一代面向对象程序设计语言年正式推出的新一代面向对象程序设计语言,特别适合于特别适合于Internet应用程序开发应用程序开发,其平台无关性直接威胁到其平台无关性直接威胁到Wintel 的垄断地位。的垄断地位。wJava来自于来自于1991年年Sun公司的一个叫公司的一个叫Green的
9、项目的项目,其原先的目的其原先的目的是为家用消费电子产品开发一个分布式代码系统是为家用消费电子产品开发一个分布式代码系统,可以把可以把E-mail发发给电冰箱、给电冰箱、电视机等家用电器电视机等家用电器,对它们进行控制。开始对它们进行控制。开始,准备采用准备采用C+,但但C+太复杂太复杂,安全性差安全性差,最后基于最后基于C+开发了一种新的语开发了一种新的语言言Oak(Java的前身的前身),Oak是一种用于网络的精巧而安全的语言。是一种用于网络的精巧而安全的语言。w1994年下半年年下半年,Internet的快速发展的快速发展,促进了促进了Java语言研制的进展语言研制的进展,Green项目
10、组成员用项目组成员用Java编制了编制了HotJava 浏览器浏览器,触发了触发了Java进军进军Internet,使得它逐渐成为,使得它逐渐成为Internet上受欢迎的开发与编程语言,上受欢迎的开发与编程语言,现已发展成为一种重要的现已发展成为一种重要的Internet平台。平台。上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-29161991年 Sun公司的一个叫Green的项目开始启动1992年“Oak”编程语言诞生,绿色小组开发出Star Seven(*7),Duke作为Java语言的吉祥物登上国际舞台 1993年 绿色工程成为焦点,Mosaic v1.0版
11、本发布(历史上第一个多媒体的网络浏览器)1994年 第一个支持移动对象和动态可执行内容的浏览器WebRunner发布 1995年 以James Gosling为首的编程小组在wicked.neato.org网站上发布了Java技术,Java语言的名字从Oak变为Java,Java 技术通过Sun world正式发布 1996年 第一次举办JavaOne 开发者大会,JDK 1.0 软件发布1997年 三周内超过22万的开发者下载了JDK 1.1 软件,超过8,000名开发者参加了JavaOne大会,Java Card 2.0平台发布 1998年 JDK 1.1发布,其被下载次数超过2 百万,V
12、ISA公司应用Java Card技术推出了世界上首张智能卡,Java社区(JCP)成立 上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-29171999年 Java 2平台源代码公开,JavaOne大会参会人数增长到20,000人,J2EE beta软件发布 2000年 全球有超过400个Java开发团队,在JavaOne大会上,Steve Jobs与Scottn McNealy一起宣布苹果公司会全力支持Java技术2001年 首个国际性JavaOne会议在日本横滨召开,超过百万的开发者下载Java Platform Enterprise Edition(Java E
13、E)SDKGoogle公司的PageRank查询算法被授予专利 2002年 2EE SDK下载次数达2百万,78%的决策者认为,J2EE技术是最有影响力的网络构建开发平台 2003年 大约有5.5亿个桌面系统应用了Java技术,有75%的专业开发者使用Java 编程语言,并将其作为主要的开发语言2004年 Java 2 Platform,Standard Edition 5 发布,利用Java技术开发的火星探测器成功登陆火星,Sun Java Studio Creator发布2005年 有大约450万名开发者正在使用Java 技术,全球有25亿台设备使用了Java技术,用于生态系统中的Java
14、 技术约合1000亿美金 展望Java EE 5.0 代号:Tiger J2SE 6.0:代号:Mustang 野马J2SE 7.0:代号:Dolphin 海豚 上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2918“Java之父”James Gosling 1991年开始从事“绿色计划”项目,随后创造了Java。Java 2 元勋Joshua Bloch 将Java“哺育”成长,主要贡献:JDK 1.1 中的java.math、JDK 1.4 中的assertions、Collections Framework、Tiger,2004年7月离开Sun到Google公
15、司。Bill Joy,软件行业的爱迪生 1954年出生,是兼通计算机软硬件技术的天才,Sun的创始人之一,世界上最优秀的程序员(Best Coder)Acott McNealySun十年来的掌舵者,Sun的前CEO、总裁兼董事长Doug Lea世界上对Java影响力最大的个人,因为在Java的两次大变革中,他都起了举足轻重的作用,服务于纽约州立大学Oswego分校计算机科学系Bruce EckelThinking in Java的作者,具有超人的表达能力和捕捉机会的能力上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系202
16、2-7-2920w简单简单n风格类似于风格类似于C+,基本语法与基本语法与C语言类似;语言类似;n摒弃了摒弃了C+中容易引发程序错误的地方中容易引发程序错误的地方,如指针和内存管理;如指针和内存管理;n提供了丰富的类库。提供了丰富的类库。w面向对象面向对象n面向对象面向对象:支持静态和动态风格的代码继承及重用,是完全面向:支持静态和动态风格的代码继承及重用,是完全面向对象的对象的,它不支持类似它不支持类似C语言那样的面向过程语言那样的面向过程 的程序设计技术。的程序设计技术。上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2921w解释执行解释执行nJava编译器产生
17、字节码,而不是机器代码编译器产生字节码,而不是机器代码n产生的字节码是平台无关的产生的字节码是平台无关的nJava字节码在执行时被翻译成机器可读的指令字节码在执行时被翻译成机器可读的指令(Java Virtual Machine)n解释执行:解释执行:Java解释器解释器(运行系统运行系统)能直接运行目标代能直接运行目标代码指令码指令上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系w可移植可移植n一个应用到处运行一个应用到处运行n原始数据类型大小在各个原始数据类型大小在各个机器上都是一样的机器上都是一样的n库定义了可移植的接口库定义了可移植的接口n平台无关:平台无关:Java源程序
18、被源程序被编译成一种高层次的与机编译成一种高层次的与机器无关的器无关的 byte-code格式格式语言语言,被设计在被设计在Java虚拟虚拟机上运行机上运行2022-7-2922上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2923w可靠可靠nJava致力于检查程序在编译和运行时的错误致力于检查程序在编译和运行时的错误n类型检查帮助检查出许多开发早期出现的错误类型检查帮助检查出许多开发早期出现的错误nJava自已操纵内存减少了内存出错的可能性自已操纵内存减少了内存出错的可能性nJava还实现了真数组还实现了真数组,避免了覆盖数据的可能避免了覆盖数据的可能w安全安全n
19、安全:安全:Java的安全性可从两个方面得到保证。一方面的安全性可从两个方面得到保证。一方面,在在Java语言里语言里,象指针和释放内存等象指针和释放内存等C+功能被删除功能被删除,避免了非法内存避免了非法内存操作。操作。另一方面另一方面,当当Java用来创建浏览器时用来创建浏览器时,语言功能和一些浏语言功能和一些浏览器本身提供的功能结合起来览器本身提供的功能结合起来,使它更安全。使它更安全。上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2924w多线程多线程n多线程:多线程:Java提供的多线程功能使得在一个程序里可提供的多线程功能使得在一个程序里可同时执行多个小
20、任务。多线程带来的好处是可以有更同时执行多个小任务。多线程带来的好处是可以有更好的交互性能和实时控制性能。好的交互性能和实时控制性能。w动态性动态性n动态:动态:Java的动态特性是其面向对象设计方法的拓展,的动态特性是其面向对象设计方法的拓展,它允许程序动态地装入运行过程中所需要的类。它允许程序动态地装入运行过程中所需要的类。上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2925w比编译型语言,例如比编译型语言,例如C来得慢来得慢n1999年做的一个试验,说明年做的一个试验,说明Java比比C或者或者C+要慢要慢3到到4 倍倍title of the articl
21、e:“Comparing Java vs.C/C+Efficiency Issues to Interpersonal Issues”(Lutz Prechelt)nadequate for all but the most time-intensive programs上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2927wJava Application(Java应用程序):应用程序):用用Java语言编写的通过独立的语言编写的通过独立的Java解释器来解释运行的桌面应解释器来解释运行的桌面应用程序(类
22、似于其它高级语言编制的应用程序)。用程序(类似于其它高级语言编制的应用程序)。wJava Applets(Java小程序):小程序):用用Java语言编写的、嵌入在语言编写的、嵌入在HTML编写的编写的Web页面中的非独立页面中的非独立程序,由程序,由Web浏览器内部包含的浏览器内部包含的Java解释器来解释运行,是动解释器来解释运行,是动态、安全、跨平台的网络应用程序。态、安全、跨平台的网络应用程序。wJSP(JavaServer Pages,Java 服务器页服务器页):是一种实现普通静态是一种实现普通静态HTML和动态和动态HTML混合编码的技术,是在混合编码的技术,是在Sun公司倡导及
23、多个公司参与下共同建立的一种动态网页标准,公司倡导及多个公司参与下共同建立的一种动态网页标准,实现了实现了Web动态内容与其显示的分离,用于构建动态动态内容与其显示的分离,用于构建动态Web网站,网站,JSP文件运行于服务器端,文件运行于服务器端,上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2928wJ2EE Java 2 Platform,Enterprise Edition(Java 2企业版)企业版)nJ2EE首先是一种构架,它包罗了首先是一种构架,它包罗了Java的多种先进的的多种先进的技术,最合适使用技术,最合适使用MVC的方法来构建系统,其表现层的方法
24、来构建系统,其表现层使用使用JSP,控制层可以使用,控制层可以使用Servlet或或Session Bean,用于实现业务逻辑,用于实现业务逻辑,Entity Bean则对业务实体进行则对业务实体进行抽象。此外它还使用抽象。此外它还使用JAAS(Java验证和授权验证和授权API)实现安全机制,实现安全机制,JNDI用于查询资源,用于查询资源,JDBC和和JTA访访问数据库和管理事务;问数据库和管理事务;JMS实现企业的消息处理;实现企业的消息处理;JavaMail实现与企业外界的联系。实现与企业外界的联系。上海交通大学计算机科学与工程系上海交通大学计算机科学与工程系2022-7-2929wJ
25、2SEJava 2 Platform,Standard Edition(Java 2标准版),是标准版),是Java最核心的技术最核心的技术wJ2MEJava 2 Platform,Micro Edition(Java 2袖袖珍版珍版),是一个重要的用于无线方面的是一个重要的用于无线方面的 Java 平台,它从平台,它从可移植的、以网络为中心的可移植的、以网络为中心的 Java 虚拟机转变而来。虚拟机转变而来。wJVMJava Virtual Machine(Java虚拟机虚拟机),它通,它通过采用一种被称之为过采用一种被称之为Java虚拟机的虚拟微处理器的规范,虚拟机的虚拟微处理器的规范,用
展开阅读全文