问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java与c++的区别

发布网友 发布时间:2022-05-31 13:55

我来回答

1个回答

热心网友 时间:2023-10-16 12:41

Java是一门面向对象的编程语言,在C++的基础上发展起来,吸收了C++的各种优点,又摒弃了C++中很多难以理解的知识点。那么Java与C++的区别具体有哪些呢?

Java具有简单性、面向对象、分布式、健壮性、安全性、平*立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

1.Java与C++在面向对象概念上的区别对于C++而言,谈面向对象的时候,是面向对象设计

对于Java而言,谈面向对象的时候,是面向对象思想

不要小看这两者之间的区别,C++说到底还是C语言的衍生版,通看《C++编程思想》其实,对于类设计,继承,重载这些并没有看作面向对象特性来判断,只是提供了一种代码服用的表现形式以及“晚*”在C++编译器中相对于C语言编译器的区别和有事。但是在《Java编程思想》当中,则是把类,继承,重载,多态等作为很重要的面向对象思想来看待的。

举一个例子,static修饰符

在C++当中,存在类内静态成员变量的问题和Java其实是一致的,但是C++仍抱有C语言特性,static生命仍具有全局概念。Java当中已经不存在所谓的全局概念了,更准确的说是通过类边界,将全局概念隐藏了。作用虽然一致,但是Java在于static提供类共享的时候,可能并没有C++来做的判断合适。

2.Java与C++在代码使用上的区别这个也很多人忽略,语言只是工具,只要按照算法做就是了,但是工具可是各有各的特点,往往也被忽略掉了。

举一个例子:空指针判断,数组越界,异常,断言

可能上面说的,在于C++而言要完全控制的,如果不控制就会出大问题,直接对应到内存的异常。可是Java而言,由于是纯面向对象语言,加上完整的基于虚拟机的异常控制,使得数组越界而言可能并不是什么大问题,throws一个Exception和内存异常比较起来反而小的多,可见Java对于内存的隐藏优势。

3.Java与C++在代码组织上的区别看C++代码,给我一个很深刻的印象就是,我能很准确的看懂他的组织形式和功能。然而Java我需要充分理解类之间的层次结构和边界问题,往往搭建库的时候映射到上层,很难通透的看出整个的形式和功能,只能基于类的调用来梳理。

由此也可以看出C++还是遗传了C语言的特性,是一个基于文档目录结构来做代码组织的。虽然有了面向对象特性,但是就面向对象只是给C++一种代码服用以及设计时逻辑区分。然而对于Java而言,面向对象可是贯彻始终的。

举一个例子:C++头文件的引入

很多人不太习惯为什么我写一个类,还要引入头文件,和Java类似写到一个文件里面不行吗?!其实C++,这是严格遵守了先声明后使用的逻辑。所以对于头文件引入的混乱的管理可以通过这个出发点,达成一定的一致的。

4.Java与C++在库函数方面的区别初看之下,觉得C++的库函数能做的,Java也都做了。但是其实还是有一些细微的区分的。

举一个例子:sort()函数

C++当中对于vector的排序,是通过sort来进行的。Java当中呢,则是要复写需要比较类的Compare方法的。

当然Java与C++还有其他区别,这里只是简单列举了4方面,主要是想告诉大家,虽然Java和C++很相似,但两者之间还是存在很多区别的。对Java的理解要集中到抽象的定义,把侧重点应该放到类组织方式,类职责的管理层级等设计问题上来,对C++的理解要充分理解C语言,除了上面提到的,也更应该注重内存问题的思考和判断上。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 为什么银行卡交费已扣钱,网页显示系统繁忙交费超时? 为什么用工行快捷支付充值支付宝总是显示抱歉,网络系统繁忙,请稍后再试? 通过工行个人网上银行购买储蓄国债(电子式)时遇到“系统繁忙,请稍后交易”时,如何处理? 通过工行个人网上银行操作B2C支付时提示代码“96111616,系统繁忙请稍后再试”,如何处理? 通过工行网银购物支付时,遇到“96111616,系统繁忙请稍后再试”提示,如何解决? 通过工行网上银行购买电子式储蓄国债,提示“系统繁忙,请稍后交易”是什么原因? 通过工行网银购买储蓄国债,提示“系统繁忙,请稍后交易”是什么原因? mac登录工行网银,可以正常登录,但是到了实际操作转账的时候就提示系统繁忙,求大侠解? 通过工行个人网上银行操作B2C支付时提示“96111616,系统繁忙请稍后再试”,如何处理? 会计专业要考哪些证O.O?? 请问中央空调的室内机可以接几个出风口和他的最大受冷面积是多大 格力三p中央空调能管多大面积 怎么保持心态 保持良好心态的方法 怎样长期保持积极的态度呢? 怎样保持心态? 什么是保持心态 保持态度和保留态度哪个对? 如何保持积极的态度? 如何在工作中保持正确态度? 梦见自己衣服掉茅坑里打湿了? 辣椒拉手了怎么办呀! 柠檬片泡水有抑制癌症发展的功效吗? 喝热柠檬水治癌症是真的吗 癌症病人喝柠檬水好吗 肝癌喝柠檬水有用吗 有喝过柠檬水的吗柠檬水对癌症到底有用没 健康传递正能量.有谁能帮忙回答柠檬怎样泡制功效最好.对抗癌症有作用吗?急要答案 喝柠檬水可以抗癌症吗,谢谢! 国外手机号码可以注册吗? 国外的手机号怎样才能申请? 国外的手机号怎样才能申请 美国手机号注册教程 国外的手机号怎样才能申请 怎么申请国际版 联想X200型号的电脑 ExpressCard扩展槽的位置是在哪里啊? thinkpad x200 和 X201i 左侧的express接口,可以用express转usb3.0卡吗?接口是54还是34标准的? thinkpadx220i 4286 4xc的expresscard是什么规格 thinkpad有express card插槽吗 X200与X60的扩展坞通用么?