Java与C++的区别

Posted Ferron Zhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java与C++的区别相关的知识,希望对你有一定的参考价值。

1、面向对象的思想

  • Java是从C++衍生出来的,两者编程虽然都是面向对象的思想,但实际上Java和C++的面向对象还是有一些细微的区别。
  • Java中的面向对象思想,是万物皆对象,所有代码(变量和方法)都在类中定义,这也使我们的编程更容易理解,更简单。
  • 而C++不仅仅包含面向对象,也包含面向过程,比如全局变量和全局函数。

2、解释VS编译

  • Java是一种解释性语言,即Java源码会先经过一次编译变成字节码(.class),然后字节码会被JVM中内置的解释器所解释执行,因此Java具有很好的跨平台性。
  • 而C++是一种编译型语言,C++源码在编译完成之后直接就是机器码,因此C++的源码执行速度快,但跨平台性不如Java。

3、特性的区别

  • C++支持多重继承,而Java只支持单继承,但是Java引入了接口的概念,可以实现多个接口。
  • C++开发中,需要开发人员自己去管理内存,C++开发中,一般把释放资源的代码放在析构函数中;而Java开发中有GC(Garbage Collection)机制,因此开发人员不需要显式地管理内存的分配。Java实现释放无用内存对象的时候,会调用该对象的finalzie()方法,这时候该对象内存就被释放了。
  • C++中有指针的概念,它是一种数据结构,它允许我们在内存空间中进行值管理;而Java中没有指针这个概念,但是有类似指针的引用
  • C++支持运算符重载和函数重载,运算符重载就是重新定义C++内置的运算符,而Java只支持函数重载。

以上是关于Java与C++的区别的主要内容,如果未能解决你的问题,请参考以下文章

[引用区别] c++中引用与java中引用区别

框架代码与普通代码的区别[重复]

java---servlet与filter的联系与区别

java与C++的区别

[引用区别] c++中引用与java中引用区别

Java与C++的区别