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

Java 类初始化顺序

时间:2016-08-23 01:02:38      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

总的来说:

父类静态代码块->子类静态代码块->子类main()方法->父类构造块->父类构造方法->子类构造块->子类构造方法

注意,就算是静态的方法也需要调用才能使用,初始化只涉及到属性和构造块、构造方法,不涉及到一般的方法。

package com.tonyluis;

class superClass {
	public superClass() {
		System.out.println("构造方法");
	}

	{
		System.out.println("构造块");
	}
	static {
		System.out.println("静态方法块");
	}
}

public class Test extends superClass {
	public static void main(String args[]) {
		System.out.println("Test main");
		//Test test = new Test();
	}

	public Test() {
		System.out.println("Test构造方法");
	}

	{
		System.out.println("Test构造块");
	}
	static {
		System.out.println("Test静态方法块");
	}

}

输出:

静态方法块
Test静态方法块
Test main

取消掉main()方法的注释,输出

静态方法块
Test静态方法块
Test main
构造块
构造方法
Test构造块
Test构造方法

 

Java 类初始化顺序

标签:

原文地址:http://www.cnblogs.com/tonyluis/p/5797573.html

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