对象的finalize调用链和clone调用链一样,必须手工构造

来源:互联网 发布:linux 动态链接库 编辑:程序博客网 时间:2024/05/19 03:30
class A {            public A() {          System.out.println("A construct");        }        @Override      public void finalize() {          System.out.println("A finalize");        }  }    class B extends A{      String name;      int age;        public B(String name, int age) {          this.name = name;          this.age = age;  System.out.println("B construct "+name+" is "+age);        }        @Override      public void finalize() {          System.out.println("B finalize"); super.finalize();    }    }    public class Main {      public static void main(String[] args) throws Exception {          A a = new B("allen", 20);  a=null;System.gc();    }  }  /*A constructB construct allen is 20B finalizeA finalize*/

原创粉丝点击