Java中null 与0 的详细区别
3个回答
展开全部
在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字节。
声明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字节。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询