- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第
第 PAGE 1 页 共 NUMPAGES 1 页
JAVA和C++区别都有哪些
JAVA和C++都是面对对象语言。也就是说,它们都能够实现面对对象思想(封装,继乘,多态)。而因为c++为了照看大量的C语言用法者, 而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面对对象的彻底性!JAVA则是彻低的面对对象语言,它句法更清楚,规模更小,更易学。它是在对多种程序设计语言举行了深化细致讨论的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。 Java和c++的相像之处多于不同之处,但两种语言问几处主要的不同使得Java更简单学习,并且编程环境更为容易。 我在这里不能彻低列出不同之处,仅列出比较显著的区分: 1.指针 JAVA语言让编程者无法找到指针来挺直拜访内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说JAVA没有指针,虚拟机内部还是用法了指针,只是外人不得用法而已。这有利于Java程序的平安。 2.多重继承 c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但用法复杂,而且会引起许多棘手,编译程序实现它也很不简单。Java不支持多重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能,又避开了c++中的多重继承实现方式带来的诸多不便。 3.数据类型及类 Java是彻低面对对象的语言,全部函数和变量部必需是类的一部分。除了基本数据类型之外,其余的都作为类对象,包括数组。对象将数据和办法结合起来,把它们封装在类中,这样每个对象都可实现自己的特点和行为。而c++允许将函数和变量定义为全局的。此外,Java中取消了c/c++中的结构和联合,消退了不须要的棘手。 4.自动内存管理 Java程序中全部的对象都是用new操作符建立在内存堆栈上,这个操作符类似于c++的new操作符。下面的语句由一个建立了一个类Read的对象,然后调用该对象的work办法: Read r=new Read(); r.work(); 语句Read r=new Read();在堆栈结构上建立了一个Read的实例。Java自动举行无用内存回收操作,不需要程序员举行删除。而c十十中必需由程序贝释放内存资源,增强了程序设计者的负扔。Java中当一个对象不被再用到时,无用内存回收器将给它加上标签以示删除。JAVA里无用内存回收程序是以线程方式在后台运行的,利用空闲时光工作。 5.操作符重载 Java不支持操作符重载。操作符重载被认为是c十十的突出特征,在Java中虽然类大体上可以实现这样的功能,但操作符重载的便利性仍然走失了不少。Java语言不支持操作符重载是为了保持Java语言尽可能容易。 6.预处理功能 Java不支持预处理功能。c/c十十在编译过程中都有一个预编泽阶段,即尽人皆知的预处理器。预处理器为开发人员提供了便利,但增强丁编译的复杂性。JAVA虚拟机没有预处理器,但它提供的引入语句(import)与c十十预处理器的功能类似。 7. Java不支持缺省函数参数,而c十十支持 在c中,代码组织在函数中,函数可以拜访程序的全局变量。c十十增强了类,提供了类算法,该算法是与类相连的函数,c十十类办法与Java类办法非常相像,然而,因为c十十仍然支持c,所以不能阻挡c十十开发人员用法函数,结果函数和办法混合用法使得程序比较混乱。 Java没有函数,作为一个比c十十更纯的面对对象的语言,Java强迫开发人员把全部例行程序包括在类中,实际上,用办法实现例行程序可激励开发人员更好地组织编码。 8 字符串 c和c十十不支持字符串变量,在c和c十十程序中用法Null终止符代表字符串的结束,在Java中字符串是用类对象(strinR和stringBuffer)来实现的,这些类对象是Java语言的核心,用类对象实现字符串有以下几个优点: (1)在囫囵系统中建立字符串和拜访字符串元素的办法是全都的; (2)J3阳字符串类是作为Java语言的一部分定义的,而不是作为外加的延长部分; (3)Java字符串执行运行时检空,可协助排解一些运行时发生的错误; (4)可对字符串用“十”举行衔接操作。 9“goto语句 “可怕”的goto语句是c和c++的“遗物”,它是该语言技术上的合法部分,引用goto语句引起了程序结构的混乱,不易理解,goto语句子要用于无条件转移子程序和多结构分支技术。鉴于以广理由,Java不提供goto语句,它虽然指定goto作为关键字,但不支持它的用法,使程序简洁易读。 l0.类型转换 在c和c十十中有时浮现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例如,在c十
文档评论(0)