static关键字详解:
static修饰方法 叫做 静态方法
static修饰的属性 叫做静态属性
static属于类,是公家的, 它在静态方法区中只有一份,每个对象共享类中的static,线程会用到.
我们可以通过类名调用static修饰的属性或方法,也可以通过对象名调用,
好处是不需要new出对象,直接使用类名即可调用static方法或属性.
static方法, 只能和static修饰的属性和方法 打交道, 如果要使用 非static的属性或方法 就需要通过对象的形式来调用.
static关键字还可以用于import导包语句中(用来导入类中的静态资源),
格式为:import static
在本类调用另一个类中的静态方法时就不需要写类名了.
静态代码块 >非静态代码块>构造方法 jvm加载类时会执行这些静态的代码块,可以有多个静态代码,按照上下顺序执行.静态代码块只在new第一次的时候永久执行一次,之后不论new了几次也不会执行.
静态代码块用来给静态属性 做一些初始化,或者在程序启动的时候做一些初始化操作,
而非静态代码块是在构造方法之前执行的,new一次都会执行一次,用于给一些非static变量初始化, 由于它的特殊性是在构造方法之前,可以做一些构造方法之前其他的初始化操作.
static { 语句体; } 存在类体中任意位置,但不在任何方法体内.
参考:https://blog.csdn.net/qq_34337272/article/details/82766943