Java软件设计基础-_第1页
Java软件设计基础-_第2页
Java软件设计基础-_第3页
Java软件设计基础-_第4页
Java软件设计基础-_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

Java软件设计基础1.Java1.Java概述概述Java软件设计基础1.Java1.Java概述概述PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology..课程参考书目课程参考书目–《Java程序设计及应用开发教程》,虞益诚主编,科学出版社–《Java教程》,SharonZakhour,人民邮电出版社–《IntroductiontoJavaProgramming》,Y.DanielLiang,机械工业出版社–《Java编程思想》,BruceEckel,机械工业出版社..课程安排课程安排–平时成绩,形式为上机作业;–考试成绩,考试形式为闭卷笔试。..其他信息其他信息–Email:SchoolofComputerScienceandTechnology..课程参考书目课程参考书目–《Java程序设计及应用开发教程》,虞益诚主编,科学出版社–《Java教程》,SharonZakhour,人民邮电出版社–《IntroductiontoJavaProgramming》,Y.DanielLiang,机械工业出版社–《Java编程思想》,BruceEckel,机械工业出版社..课程安排课程安排–平时成绩,形式为上机作业;–考试成绩,考试形式为闭卷笔试。..其他信息其他信息–Email:renkx@–Homepage:/java/index.htmlPDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology1.1Java发展与特点..计算机程序设计语言的发展与分类计算机程序设计语言的发展与分类–机器语言.不需要翻译即由计算机直接执行的指令叫做机器指令。这些指令的集合叫做机器语言。–汇编语言.是一种面向机器的程序设计语言,它用符号表示机器指令。–高级语言.其语法和结构更类似普通英文,且由于远离对硬件的直接操作,易于掌握。–面向对象程序设计.面向对象程序设计语言可以直观的反映客观世界的真实表象,使软件开发人员可运用人类认识事物所采用的一般思维方式来进行软件开发,与自然语言差距最小,是当今软件开发与应用的主流技术。SchoolofComputerScienceandTechnology1.1Java发展与特点..计算机程序设计语言的发展与分类计算机程序设计语言的发展与分类–机器语言.不需要翻译即由计算机直接执行的指令叫做机器指令。这些指令的集合叫做机器语言。–汇编语言.是一种面向机器的程序设计语言,它用符号表示机器指令。–高级语言.其语法和结构更类似普通英文,且由于远离对硬件的直接操作,易于掌握。–面向对象程序设计.面向对象程序设计语言可以直观的反映客观世界的真实表象,使软件开发人员可运用人类认识事物所采用的一般思维方式来进行软件开发,与自然语言差距最小,是当今软件开发与应用的主流技术。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology..JavaJava起源与发展起源与发展–1991年由美国Sun公司开发的具有平台无关性的语言——Oak。1992年10月更名为Java。Java和Internet迅速融合并互相推动快速发展,Java语言已由最初的版本发展到今天的1.6。..JavaJava的技术现状的技术现状–JDK与J2SE.JDK是Sun公司发布的Java最初版本,自从Java1.2发布后,相应的JDK改名为J2SE。主要目的是为台式机和工作站提供一个开发和运行的平台。–J2ME.主要面向消费电子产品,例如掌上电脑、手机等。–J2EE.用于开发分布式的企业级大型程序。SchoolofComputerScienceandTechnology..JavaJava起源与发展起源与发展–1991年由美国Sun公司开发的具有平台无关性的语言——Oak。1992年10月更名为Java。Java和Internet迅速融合并互相推动快速发展,Java语言已由最初的版本发展到今天的1.6。..JavaJava的技术现状的技术现状–JDK与J2SE.JDK是Sun公司发布的Java最初版本,自从Java1.2发布后,相应的JDK改名为J2SE。主要目的是为台式机和工作站提供一个开发和运行的平台。–J2ME.主要面向消费电子产品,例如掌上电脑、手机等。–J2EE.用于开发分布式的企业级大型程序。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology1.2Java运作机制语言翻译程序的作用示意图..语言翻译的一般过程语言翻译的一般过程SchoolofComputerScienceandTechnology1.2Java运作机制语言翻译程序的作用示意图..语言翻译的一般过程语言翻译的一般过程PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology..JavaJava平台是一种运行在其他基于硬件平台之上的纯软件平平台是一种运行在其他基于硬件平台之上的纯软件平台。台。–Java应用程序编程接口(API:ApplicationProgrammingInterface)–Java虚拟机(JVM:JavaVirtualMachine).JVM可以在任何处理器上安全、兼容地执行Java应用程序。.JVM可建立于不同的硬件系统、不同的操作系统平台。.Java程序被翻译为与机器无关的字节码文件(*.class文件),再由JVM转换成某种处理器的专用代码,因此可以达到“一次编写,处处运行”的理想。SchoolofComputerScienceandTechnology..JavaJava平台是一种运行在其他基于硬件平台之上的纯软件平平台是一种运行在其他基于硬件平台之上的纯软件平台。台。–Java应用程序编程接口(API:ApplicationProgrammingInterface)–Java虚拟机(JVM:JavaVirtualMachine).JVM可以在任何处理器上安全、兼容地执行Java应用程序。.JVM可建立于不同的硬件系统、不同的操作系统平台。.Java程序被翻译为与机器无关的字节码文件(*.class文件),再由JVM转换成某种处理器的专用代码,因此可以达到“一次编写,处处运行”的理想。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology–Java虚拟机..JVMJVM的执行过程的执行过程–加载代码、校验代码、代码执行SchoolofComputerScienceandTechnology–Java虚拟机..JVMJVM的执行过程的执行过程–加载代码、校验代码、代码执行PDF文件使用"pdfFactoryPro"试用版本创建1.3Java程序的分类.JavaApplication..JavaApplicatiJonavaApplication–用来开发命令行程序、窗体程序、服务器端程序等。.JavaApplet..JavaApplJetavaApplet–是一种嵌入到Web页面的网络应用程序,由浏览器内部的Java解释器来解释运行。.JavaServlet..JavaJavaSeSrvlretevlet–运行于Web服务器端的Java程序,可以与客户端的Applet或者HTML页面进行交互。.JSP..JSPJSP–用于生成动态网页,基于Servlet技术,在HTML文件中加入Java程序片段(Scriptlet)和JSP标记。可实现程序与页面格式控制的分离。.……..…………SchoolofComputerScienceandTechnologyPDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology1.4Java运行平台..JavaJava技术既是一种编程语言,也是一个平台。技术既是一种编程语言,也是一个平台。–Java运行时环境(JRE:JavaRuntimeEnvironment)。–许多主要的浏览器都提供的Java解释器和运行时的环境。–其他工具,如文档生成器、文件打包工具等。..JavaJava语言规范和语言规范和JavaAPIJavaAPI定义定义JavaJava的标准。的标准。–Java语言规范是一种语言的技术定义,包括语法和语义。.完整的Java语言规范可在SchoolofComputerScienceandTechnology1.4Java运行平台..JavaJava技术既是一种编程语言,也是一个平台。技术既是一种编程语言,也是一个平台。–Java运行时环境(JRE:JavaRuntimeEnvironment)。–许多主要的浏览器都提供的Java解释器和运行时的环境。–其他工具,如文档生成器、文件打包工具等。..JavaJava语言规范和语言规范和JavaAPIJavaAPI定义定义JavaJava的标准。的标准。–Java语言规范是一种语言的技术定义,包括语法和语义。.完整的Java语言规范可在/docs/jls上找到。–JavaAPI包括用于开发Java程序准备的类和接口。PDF文件使用"pdfFactoryPro"试用版本创建.JDK系统的安装..JDKJDK系统的安系统装的安装–获取与安装./javase/downloads.jsp.运行jdk-6u7-windows-i586-p.exe安装–系统路径与主要文件.Java编译器:javac.exe–用于将Java源代码文件(*.java)编译成能被Java解释器运行的类字节码文件(*.class)。.Java字节码解释器,即JVM:java.exe–用于Java程序的解释执行,直接从类字节码文件执行Java应用程序。.JavaApplet浏览器:appletviewer.exe–是一种执行嵌入HTML文件上JavaApplet的Java浏览器。.……–JDK由开发和测试Java程序的独立程序组成,从命令行调用。SchoolofComputerScienceandTechnologyPDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology..JDKJDK环境变量设置环境变量设置–Path设置.Java编译器、解释器等位于Java安装目录的bin文件夹中,为了能在任何目录中使用以上工具,应在系统特性中设置Path。–ClassPath设置.该设置指明Java虚拟机要装载类的路径。为了使编译程序能够找到用户定义的类和系统类所在的包,需要将用户类所在的目录和系统类所在的包放入到ClassPath变量中。SchoolofComputerScienceandTechnology..JDKJDK环境变量设置环境变量设置–Path设置.Java编译器、解释器等位于Java安装目录的bin文件夹中,为了能在任何目录中使用以上工具,应在系统特性中设置Path。–ClassPath设置.该设置指明Java虚拟机要装载类的路径。为了使编译程序能够找到用户定义的类和系统类所在的包,需要将用户类所在的目录和系统类所在的包放入到ClassPath变量中。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology1.5Java程序开发..JavaJava程序开发步骤程序开发步骤–编辑源程序:*.java–编译源程序得到字节码文件:*.class–运行程序.JavaApplication为解释运行.JavaApplet需通过浏览器加载运行传统语言的运行机制Java语言的运行机制SchoolofComputerScienceandTechnology1.5Java程序开发..JavaJava程序开发步骤程序开发步骤–编辑源程序:*.java–编译源程序得到字节码文件:*.class–运行程序.JavaApplication为解释运行.JavaApplet需通过浏览器加载运行传统语言的运行机制Java语言的运行机制PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology..JavaApplicationJavaApplication的开发的开发–编写Java源程序–编译和运行Java源程序.使用javac.exe来编译,java.exe来运行。SchoolofComputerScienceandTechnology..JavaApplicationJavaApplication的开发的开发–编写Java源程序–编译和运行Java源程序.使用javac.exe来编译,java.exe来运行。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology–程序解析.Java语言严格区分大小写.源文件的命名规则.类名.方法名.包名.接口名.变量名.常量名SchoolofComputerScienceandTechnology–程序解析.Java语言严格区分大小写.源文件的命名规则.类名.方法名.包名.接口名.变量名.常量名PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology–定义类.类定义最基本的形式是:.大括号括起的内容就是类体,即类的属性和方法。–main方法.一个应用程序必须有且只有一个main方法,它是应用程序的入口点。.main方法接受单一参数:String类型的元素的数组,该数组是一种机制,运行时系统通过它把消息传递给应用程序。数组中的每个字符串称为命令行参数(command-lineargument)。SchoolofComputerScienceandTechnology–定义类.类定义最基本的形式是:.大括号括起的内容就是类体,即类的属性和方法。–main方法.一个应用程序必须有且只有一个main方法,它是应用程序的入口点。.main方法接受单一参数:String类型的元素的数组,该数组是一种机制,运行时系统通过它把消息传递给应用程序。数组中的每个字符串称为命令行参数(command-lineargument)。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology..JavaAppletJavaApplet开发开发–编写Applet源程序SchoolofComputerScienceandTechnology..JavaAppletJavaApplet开发开发–编写Applet源程序PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology–编写相应的HTML文件–编译Applet源程序.使用javac.exe来编译–运行Applet小应用程序.使用appletviewer.在浏览器中直接打开SchoolofComputerScienceandTechnology–编写相应的HTML文件–编译Applet源程序.使用javac.exe来编译–运行Applet小应用程序.使用appletviewer.在浏览器中直接打开PDF文件使用"pdfFactoryPro"试用版本创建1.6Java开发工具简介.Java开发工具是为快速开发Java程序提供集成开发环境..JavaJava开发工具是为快速开发开发工具是为快速开发JaJvaava程序提供程序集成开发环境集成开发提供环境(IDE的软件。(IDE(IDE的软件的。软件。–Borland公司——JBuilder–IBM公司——Eclipse、VisualAgeforJava–Sun公司——NetBeans、JavaWorkShop、JCreator、SunJavaStudio–Symantec公司——VisualCaféforJava–Oracle公司——JDeveloper–JetBrains公司——IntelliJIDEA–EBA公司——WebLogicWorkshopSchoolofComputerScienceandTechnologyPDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology1.7JCreator代码视图文件视图类.包.属性视图输出视图编译视图SchoolofComputerScienceandTechnology1.7JCreator代码视图文件视图类.包.属性视图输出视图编译视图PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology附录..JavaJava的技术现状的技术现状**..JavaJava语言的特点语言的特点**..JVMJVM执行过程的特点执行过程的特点**..JavaJava平台提供特性平台提供特性**..JavaJava与与C/C++C/C++的比较的比较**SchoolofComputerScienceandTechnology附录..JavaJava的技术现状的技术现状**..JavaJava语言的特点语言的特点**..JVMJVM执行过程的特点执行过程的特点**..JavaJava平台提供特性平台提供特性**..JavaJava与与C/C++C/C++的比较的比较**PDF文件使用"pdfFactoryPro"试用版本创建Java的技术现状*.J2EE/J2SE/J2ME的应用领域..J2EE/J2SE/J2MEJ2EE/J2SE/J2ME的应用的领域应用领域JavaVirtualMachineCVMKVMCardVMJava2EnterpriseEdition(J2EEJava2StandardEdition(J2SEOptionalPackagesOptionalPackagesJavaCardAPIsCDCFoundationProfileRMIPersonalProfilesMIDProfileCLDCJ2MESchoolofComputerScienceandTechnologyPDF文件使用"pdfFactoryPro"试用版本创建–OptionalPackages.一个或多个APIs(应用程序编程接口)的集合,在Java平台上,它们是可用的,并且可能在兼容平台上也被支持。随着时间推移,OptionalPackages可能因为市场需要而变成必需的。CDC:ConnectedDeviceConfiguration。对应于那些有电源的,电力充裕,较大的设备。例如:电视机,冰箱等。–CVM(CVirtualMachine),KVM(KVirtualMachine.KVM和CVM均可被看作是一种Java虚拟机,是JVM的子集,在功能上都是JVM的缩减版。这两类虚拟机的适用范围并不相同,简单地说,CVM的功能比KVM功能更为强大。KVM是sun专门为使用16/32位RISC/CISC微处理器或控制器,并其可用内存为160kb~512kb的的设备而开发的。SchoolofComputerScienceandTechnologyPDF文件使用"pdfFactoryPro"试用版本创建–CLDC:Connected,LimitedDeviceConfiguration.对应于主要使用电池,小型的设备,例如:手机,pda等。–MID(MobileInformationDeviceProfile.移动信息设备简表,定义了移动信息设备的类型和提供相关的API集合,MIDP所定义的功能更加面向用户,而且比CLDC更高级。–FoundationProfile(基础简表.提供除了用户界面以外J2SE所能够提供的标准类库。–RMI(RemoteMethodInvocation).远程方法调用。–Java卡.是Java平台中最小的子集,也是一种特殊的智能卡,智能卡是一种嵌入计算机芯片的卡片。SchoolofComputerScienceandTechnologyPDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnologyJava语言的特点*..面向对象性面向对象性–面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看成是对象,对象之间通过消息相互作用。–传统的面向过程编程语言:中心是过程,驱动是算法。–面向对象的编程语言:中心是对象,驱动是消息。..简单便捷性简单便捷性–系统精简,入门迅速,编写的代码更少。..平台无关性平台无关性–平台(Platform)是程序在其中运行的硬件或软件环境,大多数平台可以被描述为操作系统和底层硬件的组合。–计算机只能识别、运行本身的机器语言(0,1构成的指令系统)。因此程序设计语言程序需要通过语言翻译程序将其映射成等价的机器码,这与平台环境紧密相关。SchoolofComputerScienceandTechnologyJava语言的特点*..面向对象性面向对象性–面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看成是对象,对象之间通过消息相互作用。–传统的面向过程编程语言:中心是过程,驱动是算法。–面向对象的编程语言:中心是对象,驱动是消息。..简单便捷性简单便捷性–系统精简,入门迅速,编写的代码更少。..平台无关性平台无关性–平台(Platform)是程序在其中运行的硬件或软件环境,大多数平台可以被描述为操作系统和底层硬件的组合。–计算机只能识别、运行本身的机器语言(0,1构成的指令系统)。因此程序设计语言程序需要通过语言翻译程序将其映射成等价的机器码,这与平台环境紧密相关。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology..语言健壮性语言健壮性–Java是一种强制类型语言,在编译运行时对程序进行严格的检查,以防止不匹配问题的发生;同时自动垃圾回收功能有助于避免内存泄露,增加了Java的健壮性。..运作安全性运作安全性–Java语言在运行程序时严格检查数据的访问权限,不允许网络上的应用程序修改本地数据;–下载到用户端的字节码只有被核实后才能由Java解释器执行,而执行过程中还要通过阻止对内存的直接访问来提高安全性;–Java提供加密技术与多种安全网络协议。..系统移植性系统移植性–Java的平台无关性是该类应用程序可方便的移植到其他计算机上运行的基础;SchoolofComputerScienceandTechnology..语言健壮性语言健壮性–Java是一种强制类型语言,在编译运行时对程序进行严格的检查,以防止不匹配问题的发生;同时自动垃圾回收功能有助于避免内存泄露,增加了Java的健壮性。..运作安全性运作安全性–Java语言在运行程序时严格检查数据的访问权限,不允许网络上的应用程序修改本地数据;–下载到用户端的字节码只有被核实后才能由Java解释器执行,而执行过程中还要通过阻止对内存的直接访问来提高安全性;–Java提供加密技术与多种安全网络协议。..系统移植性系统移植性–Java的平台无关性是该类应用程序可方便的移植到其他计算机上运行的基础;PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology–Java的编译器由Java语言实现,解释器由Java语言和标准C实现,使得Java语言系统自身就具备了可移植性。..动态扩展性动态扩展性–可以在本地或网上动态的加载各种类库,在执行过程中可以随意的增加新方法、实例变量等,运行中的程序只有在需要时才会加载相应的模块,便于扩展。..程序高性能程序高性能–Java字节码技术可快速的将编辑的Java语言转换成高性能的机器码来执行;–相应的自动寄存器分配与编译器对字节码的一些优化技术可以生成高质量的代码;–JVM的改进和“即时编译”(JustinTime)技术的出现使得Java的执行速度有了更大的提高。SchoolofComputerScienceandTechnology–Java的编译器由Java语言实现,解释器由Java语言和标准C实现,使得Java语言系统自身就具备了可移植性。..动态扩展性动态扩展性–可以在本地或网上动态的加载各种类库,在执行过程中可以随意的增加新方法、实例变量等,运行中的程序只有在需要时才会加载相应的模块,便于扩展。..程序高性能程序高性能–Java字节码技术可快速的将编辑的Java语言转换成高性能的机器码来执行;–相应的自动寄存器分配与编译器对字节码的一些优化技术可以生成高质量的代码;–JVM的改进和“即时编译”(JustinTime)技术的出现使得Java的执行速度有了更大的提高。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology..多线程机制多线程机制–线程又被称为轻量进程,是比传统进程更小的并且可以并发执行的单位。多个线程可以共用一个内存区域,共享同一组系统资源,其间通信和切换的系统开销要远远小于进程。–Java环境本身就是多线程的,若干个线程运行,负责必要的无用单元回收、系统维护等系统级操作;–Java提供了一个Thread类和一组内置方法对线程进行实时并发控制。SchoolofComputerScienceandTechnology..多线程机制多线程机制–线程又被称为轻量进程,是比传统进程更小的并且可以并发执行的单位。多个线程可以共用一个内存区域,共享同一组系统资源,其间通信和切换的系统开销要远远小于进程。–Java环境本身就是多线程的,若干个线程运行,负责必要的无用单元回收、系统维护等系统级操作;–Java提供了一个Thread类和一组内置方法对线程进行实时并发控制。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnologyJVM执行过程的特点*..多线程多线程–支持多个线程同时运行,这些线程可以独立的执行Java代码,处理公共数据区和私有堆栈中的数据。..动态连接动态连接–动态连接使得Java程序适合在网上运行..异常处理异常处理–提供了可靠的异常处理SchoolofComputerScienceandTechnologyJVM执行过程的特点*..多线程多线程–支持多个线程同时运行,这些线程可以独立的执行Java代码,处理公共数据区和私有堆栈中的数据。..动态连接动态连接–动态连接使得Java程序适合在网上运行..异常处理异常处理–提供了可靠的异常处理PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnologyJava平台提供特性*..JavaJava平台的每个完整实现都能提供如下特性:平台的每个完整实现都能提供如下特性:–开发工具.开发工具提供进行编译、运行、监视、调试应用程序和编写应用程序文档所需的所有功能。–API.提供Java编程语言的核心功能,提供大量已编写好的类。–部署技术.JDK软件提供标准机制,用于把应用程序部署给最终用户。–用户界面工具包.Swing和Java2D工具包使创建复杂的图形用户界面称为可能。–集成库.支持数据库访问和远程对象的操纵等。SchoolofComputerScienceandTechnologyJava平台提供特性*..JavaJava平台的每个完整实现都能提供如下特性:平台的每个完整实现都能提供如下特性:–开发工具.开发工具提供进行编译、运行、监视、调试应用程序和编写应用程序文档所需的所有功能。–API.提供Java编程语言的核心功能,提供大量已编写好的类。–部署技术.JDK软件提供标准机制,用于把应用程序部署给最终用户。–用户界面工具包.Swing和Java2D工具包使创建复杂的图形用户界面称为可能。–集成库.支持数据库访问和远程对象的操纵等。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnologyJava与C/C++的比较*..概述概述–Java是由C++发展而来,保留了C++的大部分内容,其编程方式类似于C++,但是摒弃了C++的诸多不合理之处,从根本上解决了C++的固有缺陷。使得Java句法更清晰、规模更小、更易学,同时更趋于健壮性、安全性和平台无关性。..区别区别–全局变量.C++将函数和变量定义为全局的,而不加封装,增加了程序的负担,并且往往会由于使用不当而造成系统的崩溃。.Java是完全面向对象的语言,类将方法和数据封装在其内,不能在所用的类之外定义程序的全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量,使得其它类可以访问和修改该变量。这种完善的包装保证了系统的安全性。SchoolofComputerScienceandTechnologyJava与C/C++的比较*..概述概述–Java是由C++发展而来,保留了C++的大部分内容,其编程方式类似于C++,但是摒弃了C++的诸多不合理之处,从根本上解决了C++的固有缺陷。使得Java句法更清晰、规模更小、更易学,同时更趋于健壮性、安全性和平台无关性。..区别区别–全局变量.C++将函数和变量定义为全局的,而不加封装,增加了程序的负担,并且往往会由于使用不当而造成系统的崩溃。.Java是完全面向对象的语言,类将方法和数据封装在其内,不能在所用的类之外定义程序的全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量,使得其它类可以访问和修改该变量。这种完善的包装保证了系统的安全性。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology–goto语句.goto语句一般用于无条件转移子程序和多结构分支技术,是C++中的合法语句,造成了程序结构的混乱,不易理解。.Java不提供goto语句,使得程序更简洁易读,增强了程序的健壮性。–指针.指针是C++语言中最灵活也最容易出错的数据类型,易出现由于指针误操作而导致的系统崩溃,同时指针操作内存时也经常出错。.Java没有指针的概念,更有利于程序的安全。–内存管理.C++语言中必须通过程序释放内存资源,增加了程序设计者的负担,再次释放已释放的内存块或释放未分配的内存块会造成系统崩溃,忘记释放不再使用的内存块也会逐渐耗尽系统资源。.Java自动进行内存回收操作,当一个对象不再被用到时,无须使用内存回收器,只需要给它加上标签以示删除。无用内存的回收器在后台运行,利用空闲时间工作,保证了系统资源的完整性,避免了内存管理不周而引起的系统崩溃。SchoolofComputerScienceandTechnology–goto语句.goto语句一般用于无条件转移子程序和多结构分支技术,是C++中的合法语句,造成了程序结构的混乱,不易理解。.Java不提供goto语句,使得程序更简洁易读,增强了程序的健壮性。–指针.指针是C++语言中最灵活也最容易出错的数据类型,易出现由于指针误操作而导致的系统崩溃,同时指针操作内存时也经常出错。.Java没有指针的概念,更有利于程序的安全。–内存管理.C++语言中必须通过程序释放内存资源,增加了程序设计者的负担,再次释放已释放的内存块或释放未分配的内存块会造成系统崩溃,忘记释放不再使用的内存块也会逐渐耗尽系统资源。.Java自动进行内存回收操作,当一个对象不再被用到时,无须使用内存回收器,只需要给它加上标签以示删除。无用内存的回收器在后台运行,利用空闲时间工作,保证了系统资源的完整性,避免了内存管理不周而引起的系统崩溃。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology–数据类型的一致性.在C++语言中,不同的平台上,编译器对简单数据类型分别分配不同的字节数,导致了代码数据的不可移植性。.在Java中,采用基于IEEE标准的数据类型,无论任何硬件平台上对数据类型的位数分配总是固定的。–类型转换.在C++中,会出现数据类型的隐含转换,涉及到自动强制类型转换,使得不安全因素大大增加。.Java中系统要对对象的处理进行严格的相容性检查,防止不安全的转换。如果需要,必须由程序显式进行强制类型转换。–头文件.在C++语言中使用头文件声明类的原型和全局变量及库函数等,使得在大系统中对头文件的维护非常困难。.Java不支持头文件,类成员的类型和访问权限都封装在类中,运行时系统对访问进行控制,防止非法访问。SchoolofComputerScienceandTechnology–数据类型的一致性.在C++语言中,不同的平台上,编译器对简单数据类型分别分配不同的字节数,导致了代码数据的不可移植性。.在Java中,采用基于IEEE标准的数据类型,无论任何硬件平台上对数据类型的位数分配总是固定的。–类型转换.在C++中,会出现数据类型的隐含转换,涉及到自动强制类型转换,使得不安全因素大大增加。.Java中系统要对对象的处理进行严格的相容性检查,防止不安全的转换。如果需要,必须由程序显式进行强制类型转换。–头文件.在C++语言中使用头文件声明类的原型和全局变量及库函数等,使得在大系统中对头文件的维护非常困难。.Java不支持头文件,类成员的类型和访问权限都封装在类中,运行时系统对访问进行控制,防止非法访问。PDF文件使用"pdfFactoryPro"试用版本创建SchoolofComputerScienceandTechnology–结构和联合.C++中用结构和联合来表示一定的数据结构,其成员的公有性带来了安全隐患。.Java不支持结构和联合,通过类把数据结构及对该数据的操作封装在类中。–预处理.C++在编译过程中都有一个预编译阶段,即预处理器,为开发人员提供了方便,但也增加了编译的复杂性。.Java允许预处理,但不支持预处理器功能,提供import语句实现类似的功能。–多重继承.C++支持多重继承,允许许多

温馨提示

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

评论

0/150

提交评论