加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java中类的加载顺序执行结果

发布时间:2020-12-14 22:16:51 所属栏目:Java 来源:网络整理
导读:具体代码如下所示: public class Parent { public static int a = parentStaticMethod2(); { System.out.println("父类非静态初始化块"); } static { System.out.println("父类静态初始化块"); } public Parent() { System.out.println("父类的构造方法");

具体代码如下所示:

public class Parent {
  public static int a = parentStaticMethod2();
  {
    System.out.println("父类非静态初始化块");
  }
  static {
    System.out.println("父类静态初始化块");
  }
  public Parent() {
    System.out.println("父类的构造方法");
  }
  public static int parentStaticMethod() {
    System.out.println("父类类的静态方法1");
    return 10;
  }
  public static int parentStaticMethod2() {
    System.out.println("父类的静态方法2");
    return 9;
  }
  @Override
  protected void finalize() throws Throwable {
    // TODO Auto-generated method stub
    super.finalize();
    System.out.println("销毁父类");
  }
  public static void main(String[] args) {
    new Child();
  }
}
class Child extends Parent {
  {
    System.out.println("子类非静态初始化块");
  }
  static {
    System.out.println("子类静态初始化块");
  }
  public Child() {
    System.out.println("子类的构造方法");
  }
  public static int childStaticMethod() {
    System.out.println("子类的静态方法");
    return 1000;
  }
  @Override
  protected void finalize() throws Throwable {
    // TODO Auto-generated method stub
    super.finalize();
    System.out.println("销毁子类");
  }
}

执行结果:

父类的静态方法2
父类静态初始化块
子类静态初始化块
父类非静态初始化块
父类的构造方法
子类非静态初始化块
子类的构造方法

总结

以上所述是小编给大家介绍的Java中类的加载顺序执行结果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读