Java static关键字

1.static是java语言中的关键字,表示“静态的”,它可以用来修饰变量、方法、代码块等,
--->修饰的变量叫做静态变量,
--->修饰的方法叫做静态方法,
--->修饰的代码块叫做静态代码块。

2、在java语言中凡是用static修饰的都是类相关的,不需要创建对象,直接通过“类名”即可访问,即使用“引用”去访问,在运行的时候也和堆内存当中的对象无关。

3.静态代码块在类加载时执行,并且只执行一次。

4.静态代码块在一个类中可以编写多个,并且遵循自上而下的顺序执行。

5.静态代码块的作用是什么?怎么使用呢?用在哪个地方?什么时候使用呢?
--->这和具体的需求有关系,例如在项目中要求在类加载的时候执行代码完成日志的记录
--->那么这段记录日志的代码就可以编写到静态代码块中去,完成日志记录了!
--->静态代码块是java为程序员准备的一个特殊的时刻,这个特殊的时刻被称为类加载时刻。
--->如果希望在此刻执行一段特殊的程序,那么这段程序可以直接放到静态代码块中。

6.通常在静态代码块中完成预备的工作,先完成数据的准备工作。
--->例如:初始化连接池,XML配置文件等。

总结:
--->1.当所有的对象都拥有这个属性的时候,但是这个属性会随着对象的变化而变化的时候(指的是不同的对象这个属性具体的值不同),将成员变量声明为实例变量。
--->2.当所有的对象都有这个属性,并且所有对象的这个属性的值是一样的,建议定义为静态变量,节省内存的开销。,则可以将成员变量声明为静态变量。
--->3.静态变量在类加载的时候初始化,内存在方法区中开辟。访问的时候不需要创建对象,直接使用“类名.静态变量”的方式进行访问。

如果方法是静态的(加static关键字),会在程序初始化过程中直接进行内存加载,此方法内的所有方法内容必须是静态的,否则会报错静态方法引用动态变量。方法调用:“类名.方法”
如果方法是动态的(不加static关键字),那么只有在调用的时候才会被主动加载一次,之后释放内存。方法调用:必须先实例化出来一个类,之后再通过实例化类名+方法的形式调用。

posted @ 2021-10-29 22:01  程序员hg  阅读(279)  评论(0编辑  收藏  举报