C#のデストラクタはC++のデストラクタより、Javaのファイナライザに近い。
~SomeClass()
{
...
}
こんな感じで書き方としてはC++と同じだけど、
protected override void Finalize()
{
try
{
...
}
finally
{
base.Finalize();
}
}
な感じに変換。
これをJavaでやる場合は、
private final Object obj = new Object() {
@Override
protected void finalize() {
...
}
};
なフィールドを持たせる感じかな。