我制作了一个自定义类,它带有一个.close()
方法。我想知道如何强制客户端在使用我的对象后始终调用此方法以确保该对象适当地关闭并释放它正在使用的任何资源?强制客户端关闭对象
即: 假设我有一个对象
public MyObject {
public MyObject() {
}
method1() {
//do some stuff.
}
method2() {
//do some other stuff.
}
close(){
//cleans up resources utilized by this object.
}
}
和客户端:
public static void main(String[] args) {
MyObject my = new MyObject();
my.method1();
my.method2();
my.close();
}
以上应该工作。然而,
public static void main(String[] args) {
MyObject my = new MyObject();
my.method1();
my.method2();
}
不应该工作(不理想编译或给予某种形式的警告),因为该对象永远不会使用后关闭。
我不认为这是可能的(AFAIK) – 2017-03-17 22:13:12