static关键字
-
1.修饰成员变量
static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法, 我们通常将用static修饰的成员称为类成员或者静态成员,全局共享
-
2.修饰成员方法
static的另一个作用,就是修饰成员方法。相比于修饰成员属性,修饰成员方法 对于数据的存储上面并没有多大的变化,因为我们从上面可以看出, 方法本来就是存放在类的定义当中的。static修饰成员方法最大的作用, 就是可以使用"类名.方法名"的方式操作方法,避免了先要new出对象的繁琐和资源消耗
-
3.静态块
- 格式:
package javaTest;
public class TT {
static {
System.out.println("静态代码块!!");
}
}
-
执行时机
静态代码块在类被加载的时候就运行了,而且只运行一次,并且优先于各种代码块以及构 造 函数。如果一个类中有多个静态代码块,会按照书写顺序依次执行。后面在比较的时候会通过具体实例来证明。
-
静态代码块的作用
如果某些项目在启动的时候就需要执行,这个时候就需要静态代码块.最重要也是最常见的静态代码块就是配置文件的读取JDBC中
-
静态代码块不能存在任何方法体中
对于普通方法,由于普通方法是通过加载类,然后new出实例化对象,通过对象才能运行这个方法,而静态代码块只需要加载类之后就能运行了。
对于静态方法,在类加载的时候,静态方法也已经加载了,但是我们必须要通过类名或者对象名才能访问,也就是说相比于静态代码块,静态代码块是主动运行的,而静态方法是被动运行的。
不管是哪种方法,我们需要明确静态代码块的存在在类加载的时候就自动运行了,而放在不管是普通方法还是静态方法中,都是不能自动运行的。
注意:静态代码块不能访问普通变量
- 4.静态导包
不同于非static导入,采用static导入包后,在不与当前类的方法名冲突的情况下,无需使用“类名.方法名”的方法去调用类方法了,直接可以采用"方法名"去调用类方法,就好像是该类自己的方法一样使用即可
总结
static是java中非常重要的一个关键字,而且它的用法也很丰富,主要有四种用法:
①用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享;
② 用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于工具类;
③静态块用法,将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键;
④静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”即可调用类方法,更加方便。
java final https://blog.youkuaiyun.com/zcc1677689500/article/details/98475683
java static https://blog.youkuaiyun.com/zcc1677689500/article/details/98475281
java abstract https://blog.youkuaiyun.com/zcc1677689500/article/details/98476003