Java和C++区别

1、运行过程不同

Java源代码通过Java编译器编译成字节码,然后由JVM解释运行,而C++经过编译和链接后生成可执行的二进制代码,可以直接执行,因此一般Java的执行速度比C++慢,但是Java能够跨平台

2、面向对象

Java是完全面向对象的,除了基本数据类型外,其他的所有数据类型都是类,都直接或间接继承自Object类,所有的数据,变量和函数都是类的一部分,Java语言中不存在局部变量和全局变量,而C++具有面向过程和面向对象的特点,可以有全局函数和全局变量。

3、指针

Java中没有指针的概念,避免了使用指针引起的问题,如内存泄漏,提高了程序的安全性

4、单继承和多继承

Java不支持多重继承,只能继承一个类,但是可以实现多个接口,接口也有多态的特性,实现了C++的多重继承的功能并且避免了多重继承的复杂性

5、内存管理

Java提供了垃圾回收器实现垃圾的自动回收,不需要程序员显式的管理分配的内存,在C++中,需要程序员显式的申请和释放内存,通常把释放内存的代码放到析构函数中,Java没有析构函数,程序员也不需要关系什么时候释放内存。

6、操作符重载

Java不支持操作符重载,使Java语言变得更加简单

7、预处理功能

Java不支持预处理功能,而C++支持增加了编译的复杂性,

8、缺省函数参数

Java不支持缺省函数参数

9、自动强制类型转换

自动强制类型转换使得程序不安全,Java不支持自动强制类型转换,如浮点型赋值给整型变量,必须显式的进行类型转换

10、goto语句

goto语句使程序变得混乱,Java不支持goto语句,C++支持

11、结构和联合

因为C++中的结构和联合中所有成员都是公有的,导致程序的安全性减低,而Java不支持结构和联合,所有的数据和操作都封装在类中

12、Java具有平台无关性,对每种数据类型都分配固定长度的空间,而C++同一数据类型在不同的平台上会分配不同长度的空间

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值