为什么只是调用了hello.show(); 但是上面的构造方法快 初始化快 静态初始化 块 全都运行了

来源:8-10 Java 中的 static 使用之静态初始化块

leehuahua

2015-05-31 17:50

最后输出的这些

通过静态初始化块初始化age
通过初始化块初始化sex
通过构造方法初始化name

是不是不管调用不调用 这些都会运行?

这些块 到底什么意思啊都 


写回答 关注

3回答

  • 无敌的大鹏鸟
    2015-08-03 09:29:36

    和语句放的顺序无关,是有优先级的问题,就像加减乘除有先后顺序一样。

  • 无敌的大鹏鸟
    2015-07-23 17:00:13

    前面的视频中已经讲过 ,程序是从main方法开始执行的,在HelloWorld hello = new HelloWorld();其实就是在构造方法,程序会自动进入类的的初始化,然后程序就按优先级执行,先执行静态初始化块,接着普通初始化块,最后是构造方法

    lolipo...

    执行完静态,为什么是从下往上执行。为了不让程序出错?

    2015-08-01 16:05:23

    共 1 条回复 >

  • 伊兮尘昔
    2015-06-01 11:36:55

    那些在类初始化的时候,自动运行的

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530560 学习 · 6091 问题

查看课程

相似问题