java与c++的异同

java和c++都是面向对象的语言,都使用面向对象思想(封装,继承,多态等)。

1、java语言为解释型语言,其运行过程为:程序源代码通过java编译器编译成字节码,然后在jvm中解释执行。而c++语言是编译型语言,源代码通过编译和链接之后生成可以执行的二进制代码。因此,java的执行速度比c++的执行速度慢,但是java能够跨平台执行。

2、java是纯面向对象语言,所有的代码都必须写在类中(类中实现)。除了基本数据类型,所有的类型都是类。此外,java语言中不存在全局变量和全局函数,而c++兼备面向过程(C语言是面向过程编程的语言)和面向对象编程的特点,可以定义全局变量和全局函数。

3、与c++相比,java中没有指针的概念,这有效的防止了指针的误操作导致系统出现故障,从而使得程序程序更加安全。

4、与c++相比,java不支持多继承,一个类最多只能继承一个父类,但是java语言中提供了借口的概念,一个类可以同时实现多个接口。由于接口也具有多态性,因此java语言中可以通过实现多个接口来实现c++中的多重继承的目的。

5、在c++中开发人员需要去管理对内存的分配以及释放,而java语言中提供了垃圾回收器,java程序中的内存释放都由垃圾回收器自动回收,不需要程序显示的管理内存。java中虽然没有析构函数,但是引入了一个finalize()方法,当垃圾回收器将要释放无用对象的内存地址时,会先调用该对象的finalize()方法,因此,开发人员不需要关心也不要知道对象占用的内存空间何时被释放。

6、c++支持运算符的重载,java不支持运算符的重载。java没有预处理器,虽然不支持预处理功能(包括头文件,宏定义等)。但是java提供了import机制,这与c++的预处理器功能类似。

7、c++支持goto语句,但是java不支持,但是goto语句是java 的保留关键字。

8、c++支持自动强制类型转换,java不支持自动强制类型转换,必须由开发人员进行显示地强制类型转换。

9、java具有平台无关性,对每种数据类型都分配固定长度,而c++不用,同一个数据类型在不同的平台上分配不同的字节数。

10、java包含了一些标准库,比如提供了用于数据库访问的jdbc库,用于实现分布式对象的rmi等标准库。而c++则是依靠一些非标准的,尤其厂商提供的库。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值