java和c++的相同之处在哪?不同在哪?

BSO 2020-08-31 16:52:52 java常见问答 6457

在我们的日常工作中java和c++都是非常重要的面向对象语言。那么,这两者之间有什么相似之处,又有什么不同之处呢?

首先,它们的共同点在于,java和c++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继承,多态)。

然后是它们的不同之处,由于区别点比较多,我们主要列举下面四点:

第一点:指针。java语言让编程者无法找到指针来直接访问内存,并且增添了自动的内存管理功能,从而有效地防止了c++语言中指针操作失误;

第二点:多重继承。c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。java不支持多重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能,又避免了c++中的多重继承实现方式带来的诸多不便。

第三点:数据类型及类 。java是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类型之外,其余的都作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类中,这样每个对象都可实现自己的特点和行为。而c++允许将函数和变量定义为全局的。

第四点:自动内存管理 。java程序中所有的对象都是用new操作符建立在内存堆栈上,这个操作符类似于c++的new操作符。java自动进行无用内存回收操作,不需要程序员进行删除。而c++中必须由程序释放内存资源,增加了程序设计者的负担。java中当一个对象不被再用到时,无用内存回收器将给它加上标签以示删除。java里无用内存回收程序是以线程方式在后台运行的,利用空闲时间工作。

以上就是关于java与c++的异同之处的主要内容。想要了解更多java常见问题,敬请关注奇Q工具网。

推荐阅读:

java技术的核心是什么?为什么是它?

java技术栈必学有哪些?

java工作流引擎是什么?常用的有哪些?