1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Copyright 2008 The Android Open Source Project
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.lang.ref.WeakReference;
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class FinalizerTest {
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public static FinalizerTest mNothing = new FinalizerTest("nothing");
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public static FinalizerTest mReborn = mNothing;
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public String mMsg = "default";
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public FinalizerTest(String msg) {
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        mMsg = msg;
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public String toString() {
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return mMsg;
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void finalize() {
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println("finalizer executed: " + mMsg);
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        mReborn = this;
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
24