我们可以在类本身中创建一个实例引用null吗? 像贝娄:
public class ClassA{
public void clear(){
//make this class be null
}
}
ClassA a = new ClassA();
a.clear();
//now a == null
我们可以在C#或Java
中实现这个方法吗?答案 0 :(得分:2)
简答:否。
更长的答案:
实例根本不能是null
。键入为类的引用的变量可以设置为null
,但不能设置为实例。可以有许多变量引用同一个实例。实例无法知道这些变量,因此没有办法将它们伸出并将它们设置为null
。
相反,您可以使用返回null
的方法返回类的返回类型:
public ClassA clear() {
return null;
}
......来电者可以使用
foo = foo.clear();
但它并没有真正起到任何作用,呼叫者可以轻松地做到
foo = null;
旁注:
在.Net(因为你提到C#),你可能会看到IDisposable
界面。
在Java中,您可以查看AutoCloseable
。
答案 1 :(得分:0)
public class ClassA
{
private ClassA obj = new ClassA();
public void clear(){
obj = null;
}
}
这是您所期望的,对象的引用可以设置为null。