1.  静态代码块 保证只创建一次,提升属性的级别为类变量。初始化后独自占用一块内存


2.  静态代码块执行触发条件


  (1).当创建这个类的实例


  (2).当调用这个类的静态变量


  (3).当调用这个类的静态方法


3.  Java中的静态变量和静态代码块是在类加载的时候就执行的,实例化对象时,先声明并实例化变量再执行构造函数。如果子类继承父类,则先执行父类的静态变量和静态代码块,再执行子类的静态变量和静态代码块。同样,接着在执行父类和子类非静态代码块和构造函数。


注意:(静态)变量和(静态)代码块的也是有执行顺序的,与代码书写的顺序一致。在(静态)代码块中可以使用(静态)变量,但是被使用的(静态)变量必须在(静态)代码块前面声明。


 最后给出执行步骤:


  (1)、父类静态变量和静态代码块(先声明的先执行);


  (2)、子类静态变量和静态代码块(先声明的先执行);


  (3)、父类的变量和代码块(先声明的先执行);


  (4)、父类的构造函数;


  (5)、子类的变量和代码块(先声明的先执行);


  (6)、子类的构造函数。

 

静态方法可以直接使用类名来引用 直接类名.静态方法


摘自 <https://www.cnblogs.com/jj-chenjunjie/p/5331107.html>

 

写在最后:以上这些总结的内容绝大多数是我从网上以及书上找来的,写在这里是想把自己所学的分享给大家,方便大家学习,同时也有助于自己记忆,如果有哪里不对的恳请指正