摘要:
静态代码块随着类的加载而执行,而且只执行一次;其作用是给类进行初始化,调用类的时候执行一次。
构造器代码块(即非static修饰的代码块)是用于给所有对象进行初始化,在每次创建对象的时候都要先执行一次。
构造器是给对应的对象进行针对性的初始化。
局部代码块是应用在方法内的代码块,用于限定局部变量的生存周期。
上图主函数的执行情况是:1.hahaha;2.show run;3.show run;
即在调用StaticCode类时要进行静态代码块执行,给类进行初始化,一旦初始化后,第二次调用类中的函数就不再进行初始化了,也就不执行静态代码块类的数据。
有关静态代码块,构造器代码块以及局部代码块的执行顺序:
因为要先加载类,所以静态代码块先执行,若要创建对象,再执行构造器代码块,局部代码块在方法来出现,可能是类方法也可能是实例方法,而这两种方法要么是类调用,要么是通过对象调用,所以局部代码块可能是最后执行,要看是否要创建对象。