zoukankan      html  css  js  c++  java
  • java运行顺序-JVM之九

    简化顺序版本是:

    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

  • 相关阅读:
    HTTP协议学习笔记
    linux对文件某列求和
    mongodb拆库分表脚本
    mongodb基础应用
    mongodb实现对某列求和SUM
    员工价值——如何体现自己价值,如何被自己的领导认可
    使用MySQLMTOP监控MySQL性能(二)
    使用MySQLMTOP监控MySQL性能(一)
    apache+tomcat实现session共享
    apache+tomcat负载均衡3种实现方式
  • 原文地址:https://www.cnblogs.com/muffe/p/6579962.html
Copyright © 2011-2022 走看看