今天看啥  ›  专栏  ›  言尘java

关于static静态代码块和static静态方法的使用心得

言尘java  · 掘金  ·  · 2021-01-27 20:47
阅读 18

关于static静态代码块和static静态方法的使用心得

static静态代码块的加载顺序

static静态代码块是随着类的加载而加载,也就是说程序运行时最开始加载的内容; 而且static静态代码块只会被加载一次,也就是说如果你多次new当前的类,static静态代码块都只会执行一次。 详见如下测试:

这里我们定义了一个父类的静态代码块和普通代码块,还定义一个父类静态方法和父类的无参构造方法用于测试static的加载顺序。

这里我们使用了继承来测试父类中的static加载顺序,然后使用main函数new一个父类对象来测试。 测试结果:

可以看到,在我们使用main函数new一个Student对象之前,最先加载的是父类和子类的静态代码块,也就是说即使main函数不执行任何操作,静态代码块都会加载进来; 加载完静态代码块之后,开始执主函数,然后是先执行的普通代码块,最后去默认调用无参构造方法。

需要说明的是:对于静态代码块,系统会随着类的加载自动执行;而对于静态方法,需要我们主动调用才能使用; 如下为调用静态方法的示例: 调用静态方法后的结果:

这就是我关于static静态代码块和静态方法的心得啦,对于static静态代码块,我们常常在项目中用于初始化一些不需要重复加载的内容,这还是很好用的; 对于静态方法,我们常常是通过定义一些经常使用的有返回值方法,而这方法当中返回的东西往往都是不改变的常量,这样我们就可以重复调用这个方法来使用这个变量。通过静态方法我们可以降低代码的冗余,提高代码可读性,将低代码的耦合性。

谢谢小可爱的用心观看!!!每天都要进步一点哟。。么么哒




原文地址:访问原文地址
快照地址: 访问文章快照