java类初始化的顺序

话不多说 直接上代码

package test;

/**
 * 类的初始化顺序 静态变量->静态初始化块->变量->初始化块->构造器
 * 
 * @author wuguangxin
 * @date 2019年08月31日
 * 
 */
public class InitialOrderTest {

	// 静态变量

	public static String staticField = "静态变量";

	// 变量
	public String field = "变量";

	// 静态初始化块
	static {
		System.out.println(staticField);
		System.out.println("静态初始化块");
	}

	// 初始化块
	{
		System.out.println(field);
		System.out.println("初始化块");
	}

	// 构造器
	public InitialOrderTest() {
		System.out.println("构造器");
	}

	public static void main(String[] args) {
		new InitialOrderTest();
	}
}

输出结果:

静态变量
静态初始化块
变量
初始化块
构造器
 

 

下面是带继承关系的类的加载顺序

package test;

/**
 * 有继承关系的类初始化顺序
 * 
 * @author wuguangxin
 * @date 2019年08月31日
 * 
 */
class Parent {
	// 静态变量
	public static String p_StaticField = "父类--静态变量";
	protected int i = 1;
	protected int j = 8;
	// 变量
	public String p_Field = "父类--变量";

	// 静态初始化块
	static {
		System.out.println(p_StaticField);
		System.out.println("父类--静态初始化块");
	}

	// 初始化块
	{
		System.out.println(p_Field);
		System.out.println("父类--初始化块");
	}

	// 构造器
	public Parent() {
		System.out.println("父类--构造器");
		System.out.println("i=" + i + ", j=" + j);
		j = 9;
	}

}

public class SubClass extends Parent {

	// 静态变量
	public static String s_StaticField = "子类--静态变量";

	// 变量
	public String s_Field = "子类--变量";

	// 静态初始化块
	static {
		System.out.println(s_StaticField);
		System.out.println("子类--静态初始化块");
	}
	// 初始化块
	{
		System.out.println(s_Field);
		System.out.println("子类--初始化块");
	}

	// 构造器
	public SubClass() {
		System.out.println("子类--构造器");
		System.out.println("i=" + i + ",j=" + j);
	}

	// 程序入口
	public static void main(String[] args) {
		new SubClass();
	}
}

输出结果

子类--静态变量
子类--静态初始化块
父类--变量
父类--初始化块
父类--构造器
i=1, j=8
子类--变量
子类--初始化块
子类--构造器
i=1,j=9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值