我製作了一個自定義類,它帶有一個.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