0
点赞
收藏
分享

微信扫一扫

Java复习总结之解析类的初始化顺序

野见 2022-01-18 阅读 72

引言

实例

public class StaticInit {
    private static int k = 1;
    private static StaticInit t1 = new StaticInit("t1");
    private static StaticInit t2 = new StaticInit("t2");
    private static int i = print("i");
    private static int n = 99;

    {
        print("初始化块");
        j = 100;
    }

    public StaticInit(String str) {
        System.out.println((k++) + ":" + str + "   i=" + i + "    n=" + n);
        ++i;
        ++n;
    }

    static {
        print("静态块");
        n = 100;
    }

    private int j = print("j");

    public static int print(String str) {
        System.out.println((k++) + ":" + str + "   i=" + i + "    n=" + n);
        ++n;
        return ++i;
    }
    
    public static void main(String[] args) {
        StaticInit test = new StaticInit("test");
    }
}

输出结果:
在这里插入图片描述

解析

在这里插入图片描述
大致流程如下:

分析:

总结

举报

相关推荐

0 条评论