快速掌握:Java语言中static关键字的用法
发表时间: 2024-04-10 11:22
Java 中的 static 关键字用于定义类的成员,包括属性、方法和初始化代码块。
下面是一个static使用实例。
public class StaticExample { // 实例属性 int instanceVariable = 1; // 静态属性 static int staticVariable = 32; // 静态初始化块 static { System.out.println("执行了静态初始化块"); staticVariable = 2024; } // 构造器 public StaticExample() { System.out.println("instanceVariable初始值:" + instanceVariable); System.out.println("staticVariable:" + staticVariable); this.instanceVariable ++; staticVariable ++; } // 静态方法 static void staticMethod() { staticVariable += 10; System.out.println("执行了静态方法\n"); } public static void main(String[] args) { for(int i = 0; i<5;i++){ StaticExample example = new StaticExample(); System.out.println("通过对象访问实例变量:" + example.instanceVariable); System.out.println("使用类名访问静态变量:" + StaticExample.staticVariable); StaticExample.staticMethod(); } }}
在这个例子中,静态初始化块用于在类加载时进行一些初始化操作。
static属性在staticVariable类加载时初始化为32,但是接下来有一个静态初始化块,它会在类加载时继续执行,staticVariable会被修改为2024,之后不会在执行初始化操作了。
对比实例属性instanceVariable,在创建对象时初始化为1,每次创建一个新的对象都会初始化为1。
接下来执行构造器里的语句,instanceVariable和staticVariable加1。
代码的执行结果如下:
执行了静态初始化块instanceVariable初始值:1staticVariable:2024通过对象访问实例变量:2使用类名访问静态变量:2025执行了静态方法instanceVariable初始值:1staticVariable:2035通过对象访问实例变量:2使用类名访问静态变量:2036执行了静态方法instanceVariable初始值:1staticVariable:2046通过对象访问实例变量:2使用类名访问静态变量:2047执行了静态方法instanceVariable初始值:1staticVariable:2057通过对象访问实例变量:2使用类名访问静态变量:2058执行了静态方法instanceVariable初始值:1staticVariable:2068通过对象访问实例变量:2使用类名访问静态变量:2069执行了静态方法