是否可以使类本身中的实例为null
本文关键字:实例 null 可以使 是否 | 更新日期: 2023-09-27 18:06:42
我们可以在类本身中使实例引用为null吗?如下所示:
public class ClassA{
public void clear(){
//make this class be null
}
}
ClassA a = new ClassA();
a.clear();
//now a == null
我们能在C#或Java 中实现这种方法吗
简短回答:否
更长的答案:
实例根本不能是null
。类型化为类引用的变量可以设置为null
,但不能设置为实例。可以有许多变量引用同一个实例。该实例无法了解这些变量,因此无法联系并将它们设置为null
。
相反,您可以有一个返回null
的方法,该方法具有类的返回类型:
public ClassA clear() {
return null;
}
呼叫者可以使用
foo = foo.clear();
但它并没有真正起到任何作用,来电者可以很容易地进行
foo = null;
旁注:
在.Net中(因为您提到了C#(,您可能会看到IDisposable
接口。
在Java中,您可能会看到AutoCloseable
。
public class ClassA
{
private ClassA obj = new ClassA();
public void clear(){
obj = null;
}
}
这就是您所期望的吗?对象的引用可以设置为null。