STATIC修饰符

张开发
2026/4/3 21:41:37 15 分钟阅读
STATIC修饰符
static 修饰符的作用static 是 Java 中的一个关键字用于修饰类的成员变量和方法。当成员被声明为 static 时它属于类本身而不是类的实例。这意味着无需创建类的对象即可访问该成员。通过类名直接调用 static 方法的原因static 方法属于类级别而非实例级别。因此可以直接通过类名调用 static 方法而不需要创建类的实例。这是 static 方法的本质特性之一。static 方法的内存分配static 方法在类加载时就被分配到内存中与类的实例无关。无论创建多少个类的实例static 方法在内存中只有一份拷贝所有实例共享同一个 static 方法。static 方法的限制static 方法只能直接访问其他 static 成员变量或方法不能直接访问非 static 成员。这是因为非 static 成员属于实例级别而 static 方法在类加载时就存在此时可能还没有任何实例被创建。示例代码public class Example { static int staticVar 10; int instanceVar 20; static void staticMethod() { System.out.println(This is a static method); System.out.println(Static variable: staticVar); // 下面这行会编译错误 // System.out.println(Instance variable: instanceVar); } void instanceMethod() { System.out.println(This is an instance method); System.out.println(Static variable: staticVar); System.out.println(Instance variable: instanceVar); } } // 调用方式 Example.staticMethod(); // 直接通过类名调用 Example obj new Example(); obj.instanceMethod(); // 需要通过实例调用使用场景static 方法适合用于工具类中的方法这些方法与特定实例无关。例如 Java 中的 Math 类所有方法都是 static 的可以直接通过 Math 类名调用。性能考虑由于 static 方法不需要通过实例调用因此在某些情况下可能比实例方法有轻微的性能优势。但这种差异通常可以忽略不计不应作为使用 static 方法的主要理由。

更多文章