运行的结果::::
为什么结果会有最后两句呢???
创建了hello2的作用是什么呢??? 创建hello2,后面没有代码调用?为什么还会有输出???
自动调用构造方法。 每次创建对象都会调用构造方法的,即使你没有创建构造方法,系统也会 默认一个无参的构造方法的
因为你创建了一个新的对象hello2,当你创建这个新对象后,这个对象就会自动运行类里的初始化块与构造方法。但是因为静态初始化块只会自动运行一次,在创建hello1时已经运行过了,所以不会再次运行。然后hello2对象也没有调用什么方法,所以并不输出main方法中的输出mum1:91等等。
即每创建一个新的对象,就会自动执行类里的构建方法与初始化块。
每创建一个类的实例,就会自动执行初始化块,而静态初始化块只初始化一次,所以当你再次创建hello2时它就不执行了,只执行初始化块和构造方法。