java与C++的区别

来源:互联网 发布:全球网络电视直播软件 编辑:程序博客网 时间:2024/06/16 15:30

java语言和C++语言依然是目前的主流语言,这两个语言之所以能够占据程序语言的排行榜首,而且存活的时间这么长,并且作为主流的开发语言,是由于它们的创新性造成的

废话不多说了,接下来比较下java与c++的区别

(1)java是解释型语言,它先编译成字节码,再由jvm解释运行,由于字节码具有平台无关性,所以可以实现一次编译到处运行。C++是编译型语言,源码经过编译和链接后生成可执行的二进制代码。因此java的执行速度比C++慢,但是java的跨平台性比c++好

(2)java是纯面向对象语言,所有的代码必须在类中实现,除了基本类型外,其他类型都是类,java语言中不存在全局变量和全局函数。C++语言是面相对象语言,但是依然兼具由面相过程和面相过程编程的特点,存在全局函数和全局变量。

(3)java中不存在指针,所以也没有指针带来的系统安全问题,C++中存在指针。

(4)java语言不支持多重继承,C++ 语言支持多重继承,但是java语言中的接口可以实现多重继承的效果

题外话:java语言为什么不支持多重继承

两个字,为了“简单”,中java语言的定义中,我们可以看出来,java语言是一种简单的、面相对象的、分布式的、解释型的、健壮的、安全的、高性能的、可移植的、动态的语言。

其次,是 为了避免“砖石问题”

(5)java语言中具有垃圾自动回收的机制,不需要程序员动手去管理内存的分配与回收,提高了程序的安全型,以及将程序员从繁杂的内存管理中解放出来,在java语言中,在内存回收之前调用finalize();在C++中,提供析构函数来进行内存的垃圾回收,它需要程序猿手动去调用。

(6)java语言中不支持预处理功能,C++中提供预处理的功能,比如头文件和宏定义;java语言中不支持运算符重载,C++语言中支持运算符重载;java语言不支持goto 语句,C++支持goto语句;  java语言不支持类型强制转换,c++ 支持强制类型转换。


0 0
原创粉丝点击