Java 类初始化顺序
总的来说:
父类静态代码块->子类静态代码块->子类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 类初始化顺序的更多相关文章
- Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
		静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行.执行顺序优先级:静态块,main(),构造块,构造方法. 构造函数 public H ... 
- 【知识总结】Java类初始化顺序说明
		微信公众号:努力编程的小猪如有问题或建议,请公众号留言 Java类初始化顺序说明 一个类中包含如下几类东西,他们前后是有顺序关系的 静态属性:static 开头定义的属性 静态方法块: static ... 
- Android(java)学习笔记136:Java类初始化顺序
		Java类中初试化的顺序: 由此得出Java普通类初始化顺序结论: 静态变量 静态初始化块 变量 初始化块 构造器 由此得出Java继承类初始化顺序结论: 1 .继承体系的所有静态成员初始化( ... 
- Android(java)学习笔记78:Java类初始化顺序
		1. Java类中初试化的顺序: 由此得出Java普通类初始化顺序结论: (1)静态变量 (2)静态初始化块 (3)变量 (4)初始化块 (5)构造器 由此得出Java继承类初始化顺序结论: (1)继 ... 
- java类初始化顺序
		一.概述 了解类的初始化顺序,可以更灵活.方便的构造一个类. 二.类初始化顺序 2.1 示例 public class InitialOrderTest { public static void ma ... 
- 转!!关于java类初始化顺序
		原文地址:http://www.cnblogs.com/luckygxf/p/4796955.html 1.没有继承 静态变量->静态初始化块->变量->变量初始化块->构造方 ... 
- Java类初始化顺序,大神3个示例带你躺坑。。
		最近发现微信群里面有些群友在讨论类的初始化顺序,如类的静态变量.成员变量.静态代码块.非静态代码块.构造器,及继承父类时,它们的初始化顺序都是怎样的,下面我通过例子来说明这个情况,以免被人误导. 示例 ... 
- Java类初始化顺序问题
		main -> (静态变量.静态代码块) ->main函数体 -> (类变量.初始化块.实例化引用的类) -> 构造函数 初始化块与实例化引用的类 的调用顺序 按程序的编写上下 ... 
- Java类初始化
		Java类初始化 成员变量的初始化和构造器 如果类的成员变量在定义时没有进行显示的初始化赋值,Java会给每个成员变量一个默认值 对于 char.short.byte.int.long.float. ... 
随机推荐
- IE10开始支持CSS3 Transitions, Transforms 和 Animations
			这是一个好消息,微软公开说明IE10预览版已经支持CSS3属性 Transitions, Transforms 和 Animations,你可以直接写transitions,而不是加个恶心的前缀-ms ... 
- image的加载事件(onload)和加载状态(complete)
			之前做过这样一个需求,要让商家页的商家图片按照图片外面box的大小等比例缩放.之前的想法是在页面中先输出图片的src,然后在页面底部初始化js,然后在js中写相应的可以使图片按照box的大小等比例缩放 ... 
- PHP中使用CURL请求页面,使用fiddler进行抓包
			在PHP中使用CURL访问页面: <?php $ch = curl_init('http://www.baidu.com'); curl_setopt($ch, CURLOPT_RETURNTR ... 
- Java使用代理服务器
			HTTP协议是基于TCP协议的,TCP协议在Java中的体现就是套接字.在了解HTTP协议的基础上,完全可以通过TCP来实现一套HTTP库,这个库可以发起网络请求和接受网络请求.只要能用URLConn ... 
- [Google Guava]字符串处理:连接器、拆分器、字符匹配器
			一.连接器[Joiner] 二.拆分器[Splitter] 三.字符匹配器[CharMatcher] 四.字符集[Charsets] Charsets:针对所有Java平台都要保证支持的六种字符集提供 ... 
- [fiddler] 手机抓包
			最近工作涉及到与原生app联调,需要抓取手机上的请求.借此机会研究了下fiddler,简直神器. 以下简单介绍通过fiddler进行手机抓包的方法,之后也会陆续更新fiddler的其他功能 设置fid ... 
- 【USACO 2.3】Money Systems(dp)
			v种货币,求有多少种组成和为n. dp[i][j]表示前i种货币价格为j有多少种方案,dp[i][j]+=dp[i-1][j-c]. http://train.usaco.org/usacoprob2 ... 
- BZOJ 2882: 工艺
			2882: 工艺 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 599 Solved: 268[Submit][Status][Discuss] D ... 
- mysql关联表的复制
			1. 复制被参照的表: CREATE TABLE clone_product_1 LIKE product_1; INSERT INTO clone_product_1 SELECT * FROM p ... 
- 在github上搭建hexo博客
			准备工作 安装git 系统是win10家庭版,采用git v1.9.5版本,比较简单,一路next直到finsh完成安装. 安装node.js hexo是基于node.js驱动的一款快速.简单且功能强 ... 
