java类加载顺序
Posted tractors
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java类加载顺序相关的知识,希望对你有一定的参考价值。
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类加载顺序的主要内容,如果未能解决你的问题,请参考以下文章