需要帮忙讲解~
在本课课件里,main方法只调用了两次构造方法,其他三行是输出语句。从哪里运行的初始化块代码和静态初始化块代码呢? 还有,为什么静态初始化块代码只加载一次呢? 谢谢。
在本课课件里,main方法只调用了两次构造方法,其他三行是输出语句。从哪里运行的初始化块代码和静态初始化块代码呢? 还有,为什么静态初始化块代码只加载一次呢? 谢谢。
2015-12-31
我也是初学者,以下是我的看法。
在main中创建对象的时候,就调用了构造方法,第一季的时候我们创建对象的时候用的是系统的默认的空的构造方法,本课件的例子中用的是我们自己写的构造方法。
我们在构造方法中初始化了num1,num2,num3这三个变量,其中num3是用静态的初始化的。为了说明静态初始化的块是是否被执行,及块的执行顺序,给每个初始化块中加入了输出的语句。
在创造hello这个对象的时候,同时第一次调用构造方法,通过输出的语句顺序发现num3这个静态初始化块是最先被执行的。
然后接下来三条语句分别输出了num1,2,3的值。
接着创造了hello2这个对象,第二次调用构造方法,通过输出的语句发现只执行了num1,num2这两个初始块,说明静态初始化块只执行一次。
举报