1. 静态代码块 保证只创建一次,提升属性的级别为类变量。初始化后独自占用一块内存
2. 静态代码块执行触发条件
(1).当创建这个类的实例
(2).当调用这个类的静态变量
(3).当调用这个类的静态方法
3. Java中的静态变量和静态代码块是在类加载的时候就执行的,实例化对象时,先声明并实例化变量再执行构造函数。如果子类继承父类,则先执行父类的静态变量和静态代码块,再执行子类的静态变量和静态代码块。同样,接着在执行父类和子类非静态代码块和构造函数。
注意:(静态)变量和(静态)代码块的也是有执行顺序的,与代码书写的顺序一致。在(静态)代码块中可以使用(静态)变量,但是被使用的(静态)变量必须在(静态)代码块前面声明。
最后给出执行步骤:
(1)、父类静态变量和静态代码块(先声明的先执行);
(2)、子类静态变量和静态代码块(先声明的先执行);
(3)、父类的变量和代码块(先声明的先执行);
(4)、父类的构造函数;
(5)、子类的变量和代码块(先声明的先执行);
(6)、子类的构造函数。
静态方法可以直接使用类名来引用 直接类名.静态方法
摘自 <https://www.cnblogs.com/jj-chenjunjie/p/5331107.html>
写在最后:以上这些总结的内容绝大多数是我从网上以及书上找来的,写在这里是想把自己所学的分享给大家,方便大家学习,同时也有助于自己记忆,如果有哪里不对的恳请指正