jvm 类初始化过程代码实战分析

来源:互联网 发布:今日头条淘宝推广 编辑:程序博客网 时间:2024/06/05 14:42
package com.unilay;/** * @author YangYuzhong * @since Oct 17, 2015 9:43:48 PM */public class Main {    static int staticVar;// 1.准备阶段-->0    static final int int CONTANT_VALUE = 20;// 2.准备阶段-->20    static {        staticVar = 50;// 4.初始化阶段-->50    }    int var = 3;// 7.赋初值-->0    {        var = 5;// 9.初始化块-->5    }    public Main() {        var = 7;// 10.构造器-->7    }    static class ExtendMain extends Main {        static int secondStaticVar;// 3.准备阶段-->0        int sencondVar = 50; // 8.赋初值-->0 11.初始化快-->50        static {            Main.staticVar = 150;// 5.初始化阶段-->150        }        public ExtendMain() {            var = 17; // 13.构造器-->17        }        {            var = 10; // 12.初始化快-->10        }    }    public static void main(String[] args) {        Main main = new ExtendMain(); // 6.new命令 // 14.new返回        System.out.println(main.var);// 15...    }}
0 0
原创粉丝点击