举例说明:
定义类:
class A{
public int n;
A(){
System.out.println("Created.");
n=0;
}
public void print(){
System.out.println("n="+n);
}
}
Java对象:
A a =new A();
A b=a;
语句 new A() 为一个新建的类A的对象,a和b都为该对象的引用。
执行上面的语句,构造函数值运行一次,只会输出一次 "Created. "。Java中的对象是类实例化出来的一个单位,而对象引用不是一个对象单位,不占有实例化对象应有的空间,和c++中的引用一样,可以将它理解为对象的“别名”。
另外,在函数调用的参数传递时如果传递对象引用,则实质是吧对象本身当做实参传递,在函数调用的内部不会创建一个新的局部对象。
如图: