使用 static
关键字修饰类、属性、方法是面向对象编程中的重要概念,它改变了这些成员与类实例(对象) 的关系,赋予了它们独特的行为和特点:
核心特点:类级别而非对象级别
static
成员的本质是属于类本身,而非类的任何特定实例(对象)。这意味着:
- 无需实例化即可访问: 可以直接通过类名访问静态成员(属性、方法),不需要先创建该类的对象。
// 访问静态属性 int value = Math.PI; // 访问 Math 类的静态常量 PI // 调用静态方法 double root = Math.sqrt(25); // 调用 Math 类的静态方法 sqrt
- 所有实例共享: 类的所有对象实例共享同一份静态成员(属性、方法)。对静态属性的修改会反映在所有访问它的对象上。
public class Counter {public static int count = 0; // 静态属性,所有 Counter 对象共享public Counter() {count++; // 每创建一个对象,共享的 count 就 +1} } Counter c1 = new Counter(); // count = 1 Counter c2 = new Counter(); // count = 2 (c1 和 c2 看到的 count 都是 2) System.out.println(Counter.count