static 可以用来修饰变量,方法,代码块和内部类,不能用来修饰构造器
用法如下:
① 修饰变量:可以使用static关键字修饰成员变量,称为静态变量。静态变量是所有对象所共享的,不必创建对象就可以直接访问,因此可以通过类名进行访问。静态变量在内存中只有一份,会被所有对象所共享,因此修改静态变量的值会影响到所有使用该变量的对象。
② 修饰方法:可以使用static关键字修饰成员方法,称为静态方法。静态方法可以直接通过类名来调用,无需创建对象。由于静态方法无法访问非静态成员变量和成员方法,因此静态方法只能访问静态成员变量和静态方法。
③ 修饰代码块:可以使用static关键字修饰代码块,称为静态代码块。静态代码块在类加载时执行,且只执行一次。静态代码块适合在类初始化时执行一些一次性操作。静态代码块可以放在类中的任意位置,按照出现的顺序执行。
④ 修饰内部类:可以使用static关键字修饰内部类,称为静态内部类。静态内部类与普通内部类的最大区别是,静态内部类无法访问外部类的非静态成员变量和成员方法,可以直接通过类名访问静态内部类。
总之,static关键字修饰的成员被所有对象所共享,常用于定义常量,工具类方法或单例模式的实现等场景。