版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章
Java语言概述
主讲:Java语言的起源与发展§1.1我们分三个阶段来简单介绍一下Java语言的历史,并说明其名字的来历,这三个队段是:发展初期1990年发展中期1994年发展推广期1995年发展初期1990年§1.1
SUNMicroSystem公司的Green小组为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。以C++为基础,但去除了其中容易出错的部分(如指针)时值internet上WWW发展图形界面;Sun公司将Java定位WWW应用;Java向社会免费开放;被程序员大量下载学习并应用到开发§1.1
发展中期1994年Netscape通讯公司宣布在Web产品中支持JavaIBM支持Microsoft支持Novell支持Oracle支持SGI支持Borland支持(Inprise)Sun成立了Javasoft分部专门维护Java的发展§1.1
迅速推广1995年1.1Java语言的起源与发展
1.1.2Java的发展
应用广泛:是一种基于Internet的网络编程语言
技术先进:面向对象的编程环境、对多媒体信息的全面支持、多线程技术的使用
市场推广积极:负责开发并推广Java技术的SunSoft公司将通过颁发许可证的办法来允许各家公司把Java虚拟机和Java的Applets类库嵌入他们开发的操作系统1.1Java语言的起源与发展
1.1.3Java语言对软件开发技术的影响软件的需求分析软件的开发方法Java语言的动画效果软件最终产品移动通信方面1.1Java语言的起源与发展
1.1.4
Java语言的前景所有面向对象的应用开发计算过程的可视化、可操作化的软件开发动态画面的设计交互操作的设计Internet的系统管理功能模块的设计……
§1.1
Java语言版本的演进
Java1.0Java2
到了Java2,为了再明显区分各种Java的应用,分割出了J2EE、J2SE、以及
J2ME三种版本
§1.1
Java语言版本的演进J2MEJava2PlatformMicroEdition
适用于小型设备和智能卡的Java2平台Micro版
J2SEJava2PlatformStandardEdition
适用于桌面系统的Java2平台标准版J2EEJava2PlatformEnterpriseEdition
适用于创建服务器应用程序和服务的Java2平台企业版1.2Java语言的特点1.2.1Java语言的性能特点
面向对象
Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏。面向对象会在Ch4详细介绍1.2Java语言的特点1.2.1Java语言的性能特点
平台无关性.Class文件是与具体硬件无关的中间代码,.Class文件能够在任何系统上运行,只要该系统实现了Java虚拟机(JVM).JVM得到.Class文件后对它进行转换(转换成对应系统的机器指令),这样就能够在不同的系统上运行。1.2Java语言的特点1.2.1Java语言的性能特点
平台无关性中性体系结构是确保可移植性的重要组成部分。Java语言规范中没有与机器相关的特性。Java的基本数据类型的范围是确定的。例如一个整数类型Integer,在C/C++语言规范中,并没有明确规定它的长度(范围),具体能够表示的范围,依赖与C/C++的实现如VC++,C++Builder等,可以为32位,也可以为64位,甚至更高,而Java语言规范规定了为32位。§1.1
Java语言的特点Java的编译与运行机制源程序.java字节码.classJVMWindowsIntelJVMUnixDECJVMUnixIBM1.2Java语言的特点1.2.1Java语言的性能特点
分布式Java为程序开发提供了包,该包提供了一组使程序开发者可以轻易实现基于TCP/IP的分布式应用系统。此外,Java还提供了专门针对互联网应用的类库,如URL、Javamail等等。1.2Java语言的特点1.2.1Java语言的性能特点
可靠性和安全性内置校验器用来防止病毒入侵等功能无用单元自动回收不支持指针,(非法操作)1.2Java语言的特点1.2.1Java语言的性能特点
多线程通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为。1.2Java语言的特点1.2.1Java语言的性能特点
简单性继承了C++;不支持struct,Union,指针,typedef,#include,#define;不支持运算符重载;不支持多重继承性;实现垃圾(无用单元)收集自动化,简化了程序设计的内存管理工作1.2Java语言的特点1.2.1Java语言的性能特点
健壮性指的是Java程序不容易出错,具有很强的适应能力,这是由于Java语言及其体系结构所决定的。内存管理,异常处理1.2Java语言的特点1.2.1Java语言的性能特点
高性能相对于其它解释语言而言但Java字节码的实现使其很容易转换为对应特定CPU的机器码或汇编码,从而得到较高的性能1.2Java语言的特点1.2.1Java语言的性能特点
灵活性
Java的类库是根据需要动态的装入1.2Java语言的特点1.2.2Java语言与C、C++语言的区别全局变量goto语句指针内存管理数据类型的支持类型转换1.2Java语言的特点1.2.2Java语言与C、C++语言的区别头文件结构和联合
预处理1.3Java语言程序分类
1.3.1Java语言应用程序(Application)publicclassHelloJavaWorldApp{//anapplicationpublicstaticvoidmain(Stringargs[]){System.out.println("HelloJavaWorld!");}}//文件名:HelloJavaWorldApp.java1.3Java语言程序分类
1.3.1Java语言应用程序(Application)运行过程:JavacHelloJavaWorldApp.Java回车JavaHelloJavaWorldApp运行结果:在屏幕上显示HelloJavaWorld!
1.3Java语言程序分类
1.3.2小应用程序(JavaApplet)importJava.awt.*;importJava.applet.*;publicclassHelloWorldAppletextendsApplet{//anappletpublicvoidpaint(Graphicsg){g.drawString("HelloWorld!",20,20);}}源程序文件名是HelloWorldApplet.Java1.3Java语言程序分类
1.3.2小应用程序(JavaApplet)运行过程:1、编译JavacHelloWorldApplet.Java2、编辑HTML网页文件,其中含有语句:<appletcode=HelloWorldApplet.classwidth=XXXheight=XXX>
3、运用浏览器或者JAVA自带的浏览器仿真软件appletviewer
打开此网页文件1.4Java程序的运行
1.4.1安装和设置JDK1、下载JDK并安装:2、查找路径的设置:利用path环境变量3、类路径的设置:利用classpath环境变量setclasspath=.;c:\j2sdk1.4.1_01\lib\dt.jar;c:\j2sdk1.4.1_01\lib\tools.jar(假设JDK安装在c:\j2sdk1.4.1_01目录下)1.4Java程序的运行
1.4.2JDK环境下Java程序的编译与运行1、编辑源程序,产生.Java的文件
2、运用Java虚拟机JVM将源文件编译为.class的字节码文件
3、根据程序的不同类型运行程序如果是Applet程序,则必须先建立网页文件,并将字节码文件嵌入进来。1.4Java程序的运行
JDK(JavaDevelopersKit)的安装安装JDK后产生如下目录结构:
\bin目录:Java开发工具,包括Java编译器、解释器等
\demo目录:一些实例程序
\lib目录:Java开发类库
\jre目录:Java运行环境,包括Java虚拟机、运行类库等(Javaruningenvironment)
…1.4Java程序的运行
1.4.3其它编程工具介绍1、Jbuilder2、Jcreator
3、JavaWorkshop4、VisualAgeforJava5、VisualCafeforJava6、FreeJava7、VJ++6.01.5Java虚拟机1.5.1Java虚拟机的功能
加载.class文件
管理内存执行垃圾收集
JVM是在一台真正的机器上用软件方式实现的一台假想机,JVM使用的代码存贮在.class的字节码文件中,JVM的某些指令很像真正的CPU指令,包括算术运算、流程控制、数组元素访问等功能
1.6面向对象编程基础1.6.1对象、类和消息对象就是变量和相关的方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为
类中定义一类对象共有的变量和方法。把一个类实例化即生成该类的一个对象
对象之间必须要进行交互来实现复杂的行为,用消息的形式提供信息1.6面向对象编程基础1.6.2继承通过对象、类,可以实现封装,通过子类则可以实现继承
通过父类和子类,实现类的的层次,可以从最一般的类开始,逐步特殊化定义一系列的子类
通过继承实现了代码的复用,使程序的复杂性线性地增长,而不是呈几何级数增长
1.6面向对象编程基础1.6.3抽象与接口抽象化概念的生成是为了要降低程序版本更新后,在维护方面的负担
使得功能的提供者,和功能的用户能够分开,各自独立,彼此不受影响为了达到抽象化的目的,需要在功能提供者与功能使用者之间提供一个共同的规范,即接口1.6面向对象编程基础1.6.4多态Java通过方法重写和方法重载来实现多态。
通过方法重写,一个类中可以有多个具有相同名字的方法,由传递给它们的不同个数的参数来决定使用哪种方法,这就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年工业醋酸乙酯项目投资价值分析报告
- 盒式项链坠产业规划专项研究报告
- 小山羊皮产品入市调查研究报告
- 牙科和牙科工艺用贵金属合金产业规划专项研究报告
- 标准工程承包合同协议书模板
- 2024年合同能源管理协议书模板
- 专业酒店装修合同样例
- 建筑行业技能培训合作合同
- 房地产营销合同书范例
- 广告发布合同的案例解析
- 2024-2030年版中国测绘行业发展机遇分析及投资策略研究报告
- 《雨污水管道施工方案》
- 2024年中国建筑预制件市场调查研究报告
- 《学前教育法》是学前教育工作者的新征程
- 节能减排知识培训
- 临床营养科各岗位职责及各项规章制度
- 2024年大型游乐设施维修(Y1)特种作业考试题库(浓缩500题)
- 《创想候车亭》课件2024-2025学年岭美版(2024)初中美术七年级上册
- 山西省晋中市多校2024-2025学年九年级上学期期中语文试题
- 居间权益保障协议
- 治本攻坚三年行动
评论
0/150
提交评论