[笔记]有关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
  • 下载

别把自己当个超人——给初级程序员的一点小小建议

我在Twitter上看到了一篇有趣的博文——你可以先看看。如果你懒得上Twitter看,看我转载这篇的就行了。 -----------------------------------------...

『AngularJS』一点小小的理解

AngularJS 是一个前端的以Javascript为主的MVC框架。与AngularJS相类似的还有EmberJS。 随着时代在进步,各种各样的开发理念与开发框架不断的提出与发展,而就目前来...

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

I will Make Impossible To I'm possible                     -----------LittleHann   看了2个多星期。...

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

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

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

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

对于IT行业的未来一点小小的想法

目前各行各业都遇到了技术上的瓶颈,电子科技方面从微软,苹果以及android等都已经到了一个顶点了,自微软win7,苹果4s,安卓2.3以后都很难有什么实质性的进展了,目前许多公司推出的所谓的新产品不...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[笔记]有关Static初始化的一点小小记忆
举报原因:
原因补充:

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