创建类后的输出问题。。

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

慕瓜453346

2018-09-27 19:41

https://img.mukewang.com/5bacc1530001fdd507670575.jpg

运行的结果::::

53941e880001cb8003530223.jpg

为什么结果会有最后两句呢???

创建了hello2的作用是什么呢???  创建hello2,后面没有代码调用?为什么还会有输出???

写回答 关注

3回答

  • 千寻街
    2018-09-27 20:36:57
    已采纳

    自动调用构造方法。    每次创建对象都会调用构造方法的,即使你没有创建构造方法,系统也会 默认一个无参的构造方法的

    Konata... 回复慕瓜4533...

    你在你声明的方法前面用static或者final修饰就只会执行一次了

    2019-05-15 14:14:18

    共 2 条回复 >

  • qq_不过六级不改名i_opIMVZ
    2018-10-16 18:53:03

    因为你创建了一个新的对象hello2,当你创建这个新对象后,这个对象就会自动运行类里的初始化块与构造方法。但是因为静态初始化块只会自动运行一次,在创建hello1时已经运行过了,所以不会再次运行。然后hello2对象也没有调用什么方法,所以并不输出main方法中的输出mum1:91等等。

    即每创建一个新的对象,就会自动执行类里的构建方法与初始化块。

  • 洛辰m
    2018-09-29 20:50:15

    每创建一个类的实例,就会自动执行初始化块,而静态初始化块只初始化一次,所以当你再次创建hello2时它就不执行了,只执行初始化块和构造方法。

Java入门第二季 升级版

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

530559 学习 · 6091 问题

查看课程

相似问题