static关键字详解:

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

 

 

-

原文地址:https://www.cnblogs.com/shenyueshuo/p/12964385.html