java与C++的异同

java的认知

java与C++的异同

共同点:

       都使用了面向对象的思想(例如封装,继承,多态等),并且两者具有很好的可重用性。

不同点:

1.java为解释性语言(源代码通过java编译器编译成字节码交由JVM解释执行),C/C++为编译型语言(源代码经过编译和链接后生成可执行的二进制编码).

注:java的执行速度比C/C++的执行速度慢,java能够跨平台执行,C/C++不可以。

2.java纯面向对象(所有代码在类中实现,除基本类型外,所有类型都为类),C++兼具面向过程和面向对象编程的特点。

注:java不存在全局变量或者全局函数,C++可以定义全局变量和全局函数。

3.java中没有指针的概念,防止了C++语言中操作指针可能引起的系统问题,使程序变得更加安全。

4.java不支持多继承(java引入了接口的概念,可以同时实现多个接口,也具有多态性) 
C++支持多继承

5.C++需要开发人员去管理对内存的分配,包括申请和释放。(释放资源的代码放在析构函数中) 
java自己提供了垃圾回收器来实现垃圾的自动回收,不需要显示的管理内存的分配。(java不存在析构函数,引入了finalize()方法,当垃圾回收将要释放无用内存时,会首先调用该方法)

6.C++支持运算符重载;java不支持运算符重载

7.C++支持预处理,java没有预处理器,不支持预处理功能(包括头文件和宏的定义)

注:java提供了import 机制与C++的预处理器功能类似。

8.C++支持默认的函数参数,java不支持默认函数参数。

9.C++支持goto语句,java不支持goto语句(java中goto是保留关键字)。

注:goto语句也称为无条件转移语句,其一般格式如下: 
goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。 
如: label: i++; 
loop: while(x<7);

10.C++支持自动强制类型转换,java不支持强制类型转换(java需要开发人员显示的强制类型转换)。

注:java引入泛型的概念,更好的处理类型的问题。

11.java具有平台无关性。(每种类型分配固定的长度) 
C++具有平台性。(同一种类型在不同的平台分配的长度不同)

12.java包含一些标准库,用于完成特定的任务,同时这些库简单易用,能够大大的缩短开发周期。(提供了访问数据库的JDBC库,用于实现分布式对象的RMI等标准库) 
C++依靠一些非标准的,由其他厂商提供的库。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值