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

java运行顺序-JVM之九

时间:2017-03-19 14:20:56      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:ref   string   []   target   bsp   先后   静态   www   ora   

简化顺序版本是:

  1. 父类的静态成员赋值和静态块,代码排版先后顺序执行,只运行一次
  2. 子类的静态成员赋值和静态块,代码排版先后顺序执行,只运行一次
  3. 父类代码块
  4. 父类构造方法
  5. 子类初始化块
  6. 子类构造方法

再次构造子类,将重复3/4/5/6步骤

 

 

总之:见到静态必先行-》类中代码块-》构造。

 

 

public class Hello {

 

    static class A{

 

        static C c =new C();

 

        public A(){

 

            System.out.println("A‘s Constructor");

 

        }

 

        static {

 

            System.out.println("A‘s static ");

 

        }

 

 

 

    }

 

    static class B extends A{

 

 

 

        public B(){

 

            System.out.println("B‘s Constructor");

 

        }

 

        D d = new D();

 

        C c =new C();

 

        static {

 

            System.out.println("B‘s static ");

 

        }

 

 

 

    }

 

    static class C {

 

        public C(){

 

            System.out.println("C‘s Constructor");

 

 

 

        }

 

        static {

 

            System.out.println("C‘s static");

 

        }

 

    }

 

    static class D{

 

        public D(){

 

            System.out.println("D‘s Constructor");

 

        }

 

        static {

 

            System.out.println("D‘s static");

 

        }

 

    }

 

    public static void main(String args[]){

 

        System.out.println("start");

 

        B b = new B();

 

    }

 

}

 

结果:

start

C‘s static

C‘s Constructor

A‘s static 

B‘s static 

A‘s Constructor

D‘s static

D‘s Constructor

C‘s Constructor

B‘s Constructor

 

第二例子:

http://blog.csdn.net/wenwen091100304/article/details/49488137

java运行顺序-JVM之九

标签:ref   string   []   target   bsp   先后   静态   www   ora   

原文地址:http://www.cnblogs.com/muffe/p/6579962.html

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