码迷,mamicode.com
首页 > 编程语言 > 详细

java类加载顺序

时间:2019-07-17 00:04:22      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:pre   src   初始化   com   构造函数   静态属性   his   extends   public   

1、java类加载顺序:
  (1) 父类静态代码块(包括静态初始化块,静态属性,但不包括静态方法) 
  (2) 子类静态代码块(包括静态初始化块,静态属性,但不包括静态方法 )
  (3) 父类非静态代码块( 包括非静态初始化块,非静态属性 )
  (4) 父类构造函数
  (5) 子类非静态代码块 ( 包括非静态初始化块,非静态属性 )
  (6) 子类构造函数
2、代码:
  父类:
public class Father {
    private String pro="1";
    private static String staticPro="2";

    {
        System.out.println("父普通代码块");
        System.out.println(this.pro);
        System.out.println(this.staticPro);
    }
    static {
        System.out.println("父静态代码块");
    }

    public Father() {
        System.out.println("父类构造");
        System.out.println(this.pro);
        System.out.println(this.staticPro);
    }
}

  子类:

public class Son extends Father {
    private String pro="1";
    private static String staticPro="2";
    {
        System.out.println("子普通代码块");
        System.out.println(this.pro);
        System.out.println(this.staticPro);
    }
    static {
        System.out.println("子静态代码块");
    }

    public Son() {
        System.out.println("子类构造");
        System.out.println(this.pro);
        System.out.println(this.staticPro);
    }
}

  测试:

public class test {
    public static void main(String[] args) {
        Son son = new Son();
    }
}

  返回结果:

 技术图片

 

 

java类加载顺序

标签:pre   src   初始化   com   构造函数   静态属性   his   extends   public   

原文地址:https://www.cnblogs.com/Tractors/p/11198303.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!