Java和C/C++的一些区别(一)对象

尽管Java是基于C++的,但是相比之下,Java是一种更纯粹的面向对象程序设计语言。——《Think in Java》

因此Java和C和C++肯定存在着区别,而且是较大的区别。

1.C/C++直接操作元素或者用指针间接操作,Java将所有元素看作对象,采用单一固定的语法操作元素。

2.存储
C/C++:①全局/静态存储区域;②栈;③堆;④字符/文字常量区;⑤程序代码区。
Java:①寄存器;②栈;③堆;④常量存储;⑤非RAM存储。

3.Java所有数值类型都有正负号。有两个用于高精度计算的类:BigInteger和BigDecimal。

4.Java会确保数组初始化,并且不能在它的范围之外被访问(相比C和C++安全许多)。

5.Java不能多次定义一个变量

int i = 5;
{ 
	int i = 94;//这在C/C++中合法,在Java中违法。
}

6.Java中由new创建的对象,可以存活于作用域之外,由垃圾回收器来监视用new创建的所有对象,辨别那些不会再被引用的的对象并将其释放(boolean,char,byte,short,int,long,float,double是例外,不需要用new)。

7.Java中由new创建的对象,传递对象时,实际上传递的是对象的引用。

8.许多C++编译器会对未初始化变量给予警告,而Java则视为是错误。

本文章大量从《Think in Java》、实践和网络中总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值