Java中null 与0 的详细区别

 我来答
handong5403
2011-11-13 · TA获得超过351个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:157万
展开全部
在java中,一个对象可以被赋值为null。而0仅仅是代表int类型的一个赋值。
声明Object obj;
obj.getClass();
那么编译器肯定会报错不让你编译
声明Object obj=null;
obj.getClass();
那么编译器不报错了,因为obj被赋值为null,null算是一个对象,代表空值,无指向任何内存地址。
null不是一个实例对象所以如果编译通过运行上面的代码会抛出nullpointerException。
声明一个对象等于null,在运行中占用了1字节的空间;声明int a=0;在32位系统下占用了4字节。不过事实上-127--127的int值已经在运行时就固定在内存了,多声明几个变量等于0还是只占4字节。
小白AI绘画
推荐于2017-11-28 · TA获得超过1358个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:467万
展开全部
给一个引用变量赋值0,例如:int i=0;
则内存中会在栈区创建一个引用i,指向常量池中的整数0

给一个引用变量赋值null,例如:Object obj=null;
则会在栈区创建一个引用obj,不指向任何地址
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-11-13
展开全部
java是面向对象的 null代表空 是一种类型 0是另一种类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式