Java与C/C++语言对比

一、java与C语言的不同点总结

(1)java没有预处理器,#define,#include,#ifdef,常量定义使用static final字段取代
(2)java没有全局变量,不可能冲突
(3)java明确定义的基本数据类型大小,C中的short,int,以及long数据类型的大小依赖于它们的执行平台
(4)java没有指针,除了String和基本数据类型外,所有自定义类的变量都是引用,自定义类型需要显示new出来,包括数组的成员也是需要new的
(5)java不需要回收内存,由虚拟机执行无用存储单元收集
(6)java无goto语句,goto语句太乱了,对于代码编写来讲,不好的习惯
(7)java随处可以申明变量,C语言要求局部变量的申明必须放在方法或程序块的开始,(注:C++可以申明在任意地方但是在swich的case中申明变量必须加{}定义程序块内,或者switch语句之前申明变量)
(8)java可以向前引用
C的变量或方法,需要申明后才可以用,java可以不必像C一样在头文件中申明或源文件中前向申明后才使用
(9)java无struct和union类型,有class可以了
(10)java无枚举enum类型,java中可以使用对象常量模拟这一特性
(11)java无位字段,c中可以指定struct结构的各个字段所占用的位数,java不支持这一特性
(12)java无typedef,这个在java中是不必要的
(13)java无方法指针,没有指向函数的指针,但是可以用java中的接口对象传递达到类似的效果
(14)java无变量长度参数列表,C中支持可变数量的参数,但是java没有
(15)Java不支持缺省函数参数,而C支持 



二、java的面向对象的思想与C++也有不同点,待补充

(1)C++是可以多继承,但会出现重复继承的问题,java是单继承的,可以通过接口实现多继承
(2)java中没有C++的模板,不支持模板的使用
(3)C++中默认是用值传递,需要显示使用&标识引用传递,而java默认就是引用
(4)C++多态,不仅支持函数重载还支持运算符重载,而java不支持运算符重载




参考文献:java技术手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值