本帖最后由 q19871127 于 2015-6-12 18:17 编辑
- class Fu {
- static {
- System.out.println("静态代码块Fu");
- }
- {
- System.out.println("构造代码块Fu");
- }
- public Fu() {
- System.out.println("构造方法Fu");
- }
- }
- class Zi extends Fu {
- static {
- System.out.println("静态代码块Zi");
- }
- {
- System.out.println("构造代码块Zi");
- }
- public Zi() {
- System.out.println("构造方法Zi");
- }
- }
- class Demo
- {
- public static void main(String[] args){
- new Zi();
- }
- }
复制代码 执行结果为:
静态代码块Fu
静态代码块Zi
构造代码块Fu
构造方法Fu
构造代码块Zi
构造方法Zi
总结:
执行顺序 1.静态代码块 (由于静态随着类的加载而执行 所以最先执行)
2. 构造代码块 -- 构造方法
只要有子父关系,肯定先初始化父亲的数据,然后初始化子类的数据。
|
|