[笔记]有关Static初始化的一点小小记忆

原创 2015年11月18日 22:42:35

Q1:看下列代码,分析输出结果?

public class Test {
    static {
        System.out.println("static");//-----1
    }
    public Test() {
        System.out.println("Test");//-----2
    }
    public static void main(String[] args) {
        Test test = new Test();
    }
}

A:

static
Test

Thinking:静态代码块先于构造器执行。

Q2:看下列代码,分析输出结果?

public class Test {

    static Test test1 = new Test();//-----1
    static {
        System.out.println("static");//-----2
    }
    public Test() {//-----3
        System.out.println("Test");
    }
    public static void main(String[] args) {
        Test test1 = new Test();
    }
}

A:

Test
static
Test

Q:看下列代码,分析输出结果?

public class Test {


    static {
        System.out.println("static");//-----1
    }
    public Test() {//-----3
        System.out.println("Test");
    }
    public static void main(String[] args) {
        Test test1 = new Test();
    }
    static Test test1 = new Test();//-----2
}

A:

static
Test
Test

Thinking:静态代码块按顺序执行。

Q3:看下列代码,分析输出结果?

public class Test {


    static {
        System.out.println("static");//-----1
    }

    public Test() {//------3,4
        System.out.println("Test");
    }

    public static void main(String[] args) {
        Test test1 = new Test();
        Test test2 = new Test();
    }
    static Test test1 = new Test();//-----2
}

A:

static
Test
Test
Test

Thinking:静态代码块只在类加载的时候初始化一次,之后都不再执行。

总结:static修饰的变量在构造器之前(除非该类也是static修饰,类似Q1)按顺序初始化,而且只加载一次。


tip:笔者经验非常有限,如有错误或者描述不当的地方,请轻喷。。。。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

100道动态规划——12 UVA 1252 Twenty Questions 状态压缩,记忆化搜索,带一点小小的优化

好吧,这道题目我没有做出来。 总之想的状态已经很到正解的边上了,就差一点点,诶,加油呀! 定义dp[s][s0]表示当前猜了s特性而心中想的物品被猜中的特性是s0(注:此处的s和s0均为集合,第k...

一点小小的ftp工具

  • 2011-04-19 10:18
  • 2.95MB
  • 下载

关于芯片选型的一点小小心得

随着电子技术的不断发展,各种功能的芯片层出不穷。集成电路的发展基本向着高集成、低功耗方向发展。这在给我们的研发工作带来了极大方便的同时,也为我们在实际研发过程中的选型问题带来了不便。 我从事芯片...

有关容器的一点小小总结

本文并非是对c++容器的用法详解,只是把自己这几天用到vector及map时,出现的一些小问题在此记录下,以备不时只需。。。。。。 1.定义容器之前需在头文件中: #include #incl...

Delphi中关于OleVariant 自动化变量的一点小小的认识(原发于2007-6-13)

记下我的经历,希望对你有用。 上个星期,因为要帮老师带CAN总线的实验,买的是北京三纯科技的CAN总线的接口卡和CAN总线PCI 的接口卡。实验要我自己想如何做。晕。不过没有办法。想来想去,...

对近来招聘经验一点小小的总结

最近帮助公司招聘软件开发人员。可以说我也是招聘新手,没有什么经验,所以也经常来CSDN翻看各位前辈的招聘经验,得到了不少的帮助。在此首先谢谢帮助过我的各位大哥。     不过近来觉得招聘开发人员真不...

《ODAY安全:软件漏洞分析技术》学习心得-----shellcode的一点小小的思考

I will Make Impossible To I'm possible                     -----------LittleHann   看了2个多星期。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)