在java中以对象的形式传递null,不带任何错误
基于下面的程序,我不清楚null是否是一个对象,因为我的程序编译得很好,没有任何错误。我认为当我在第1行传递null时,它会给出一个null指针异常在java中以对象的形式传递null,不带任何错误,java,Java,基于下面的程序,我不清楚null是否是一个对象,因为我的程序编译得很好,没有任何错误。我认为当我在第1行传递null时,它会给出一个null指针异常 public class GC { private Object o; private void doSomethingElse(Object obj) { o = obj; System.out.println(o); // prints null } public stat
public class GC {
private Object o;
private void doSomethingElse(Object obj)
{
o = obj;
System.out.println(o); // prints null
}
public static void main(String[] args) {
GC g = new GC();
g.doSomethingElse(null); // LINE 1
}
}
当您将对象作为参数传递时,将传递其“地址”
null
传递地址值0。如果您对代码编译的原因感到好奇,那就是原因。否,“null”是一个值。在java中,您将参数传递给函数作为引用(基本类型除外),该引用的值“指向”对象。在这种情况下,参考点的值为零
补充说明
整数n=新整数(8)代码>
n-是对内存中对象的引用。此引用的值类似于Integer@23434342
,如内存地址。在这个地址是你的对象,有一个包含8
的字段
n=null
表示n
不指向任何地方。这就是为什么它具有参考价值 否,null是一个文本表达式。此文字表达式的值是“空引用”。null引用是null类型表达式的唯一可能值
我不明白你在说什么,我补充了解释。