java如何引用实例
引用实例的基本概念
在Java中,引用实例是通过对象引用变量来指向某个对象的实例。对象引用变量存储的是对象在内存中的地址,而非对象本身。
创建对象实例
需要先通过new关键字创建对象实例,然后才能引用它:
ClassName objectName = new ClassName();
这行代码完成了实例创建和引用赋值两个操作。
引用已存在的实例
可以直接将引用变量指向另一个已存在的实例:
ClassName obj1 = new ClassName();
ClassName obj2 = obj1; // obj2现在引用与obj1相同的实例
通过方法返回引用
可以从方法调用中获取对象引用:
public ClassName createInstance() {
return new ClassName();
}
ClassName obj = createInstance(); // 引用方法返回的实例
数组中的引用
数组可以存储对象引用:
ClassName[] objArray = new ClassName[3];
objArray[0] = new ClassName(); // 数组元素引用实例
集合中的引用
集合类如ArrayList也可以存储对象引用:
List<ClassName> list = new ArrayList<>();
list.add(new ClassName()); // 集合元素引用实例
多引用同一实例
多个引用变量可以指向同一个实例:
ClassName ref1 = new ClassName();
ClassName ref2 = ref1;
ClassName ref3 = ref2;
// ref1, ref2, ref3都引用同一个实例
引用传递
在方法参数传递时,传递的是对象引用的副本:
void modifyObject(ClassName obj) {
// 可以修改obj引用的对象
}
ClassName myObj = new ClassName();
modifyObject(myObj); // 传递对象引用
空引用处理
引用变量可以赋值为null,表示不引用任何对象:
ClassName obj = null;
// 使用前需要检查null
if(obj != null) {
obj.someMethod();
}
引用比较
使用==比较引用地址,equals()比较对象内容:
ClassName obj1 = new ClassName();
ClassName obj2 = obj1;
System.out.println(obj1 == obj2); // true,引用相同实例
强引用与垃圾回收
只要强引用存在,对象就不会被垃圾回收:

ClassName strongRef = new ClassName();
// 只要strongRef不置为null,对象不会被回收






