static代码块、成员变量初始化、构造方法执行顺序
2016-07-01 21:00
441 查看
下面代码:
结果:
结论
先执行static代码块,再初始化成员变量,再执行构造方法。
下面代码:
结果:
结论
先执行父类的static代码块,再执行子类static,再执行构造方法。
下面代码:
结果:
结论
先执行父类的static代码块,再执行子类static,再执行父类构造方法,再再初始化成员变量,再走子类构造方法剩下的。
public class Son{ Father father = new Father(); static{ System.out.println("Son static"); } public Son(){ System.out.println("Son()"); } } public class Father { static{ System.out.println("Father static"); } public Father(){ System.out.println("Father()"); } } public class Main{ public static void main(String[] args){ Son son = new Son(); } }
结果:
Son static Father static Father() Son()
结论
先执行static代码块,再初始化成员变量,再执行构造方法。
下面代码:
public class Son extends Father{ //Father father = new Father(); static{ System.out.println("Son static"); } public Son(){ System.out.println("Son()"); } } public class Father { static{ System.out.println("Father static"); } public Father(){ System.out.println("Father()"); } } public class Main{ public static void main(String[] args){ Son son = new Son(); } }
结果:
Father static Son static Father() Son()
结论
先执行父类的static代码块,再执行子类static,再执行构造方法。
下面代码:
public class Son extends Father{ Father father = new Father(1); static{ System.out.println("Son static"); } public Son(){ System.out.println("Son()"); } } public class Father { static{ System.out.println("Father static"); } public Father(){ System.out.println("Father()"); } public Father(int a){ System.out.println("Father(1)"); } } public class Main{ public static void main(String[] args){ Son son = new Son(); } }
结果:
Father static Son static Father() Father(1) Son()
结论
先执行父类的static代码块,再执行子类static,再执行父类构造方法,再再初始化成员变量,再走子类构造方法剩下的。
相关文章推荐
- Java-密码加密
- Python基础系列----字典、基本语句
- 在eclipse中使用Aspectj
- 使用Aspect来对访问方法进行预处理和后处理
- eclipse中svn的各种图标详解
- Spring缓存机制
- C语言练习题每练 3:递归 求n! n的阶乘
- Java字符串String
- [台大机器学习笔记整理]perceptron learning algorithm
- C语言函数的参数检查
- Java多线程(二)
- leetcode题解日练--2016.7.1
- java获取一个字符串字节长度
- Spring Security学习
- Spring-两种配置容器
- 2016/7/01 WeChat小项目--WeiXinServlet类
- python-ConfigParser模块【读写配置文件】
- Java中转JSON的工具类
- C++11实现生产者消费者问题
- Matlab如何建立和调用M文件(M-File)