综合百科

static到底是个啥?揭秘java中的静态关键字! -pg麻将胡了模拟器

在java中,`static`关键字是一个非常基础且重要的概念,它用于创建属于类的静态成员。静态成员属于类本身,而不是类的任何特定实例。这意味着无论创建了多少个类的实例,静态成员都只有一个副本。

静态变量的特点

1. 单例:静态变量在类的所有实例之间共享。这意味着,无论创建多少个对象,静态变量的值对所有对象都是相同的。

2. 初始化:静态变量在类加载时进行初始化,即在第一次使用该类时,静态变量会被初始化。

3. 作用域:静态变量可以被类的任何方法访问,不需要创建类的实例。

示例

“`java

public class example {

static int count = 0; // 静态变量

public example() {

count ; // 每次创建对象时,静态变量count增加

}

public static void main(string[] args) {

example obj1 = new example();

example obj2 = new example();

system.out.println(“对象数量: ” example.count); // 输出对象数量

}

}

“`

在这个示例中,`count`是一个静态变量。每次创建`example`类的实例时,`count`的值都会增加。因此,即使创建了多个对象,`count`的值对所有对象都是相同的。

静态方法

静态方法也属于类本身,而不是类的任何特定实例。静态方法可以直接通过类名调用,而不需要创建类的实例。

“`java

public class mathutils {

public static int add(int a, int b) {

return a b;

}

}

public class main {

public static void main(string[] args) {

int result = mathutils.add(5, 3);

system.out.println(“结果: ” result); // 输出结果: 8

}

}

“`

在这个示例中,`add`是一个静态方法。可以直接通过`mathutils.add(5, 3)`调用,而不需要创建`mathutils`类的实例。

静态代码块

静态代码块在类加载时执行一次,通常用于静态资源的初始化。

“`java

public class staticblockexample {

static {

system.out.println(“静态代码块执行”);

}

public static void main(string[] args) {

system.out.println(“主方法执行”);

}

}

“`

在这个示例中,静态代码块在类加载时执行,输出”静态代码块执行”,然后主方法执行,输出”主方法执行”。

总结

`static`关键字在java中用于创建属于类的静态成员,这些成员在类的所有实例之间共享。静态变量和静态方法可以直接通过类名调用,而静态代码块在类加载时执行一次。理解`static`关键字对于编写高效和简洁的java代码非常重要。