全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-07 6 分钟 ✍️ juanwangdev

Java 变量作用域

变量作用域定义了变量的可见性和生命周期范围。

成员变量(类级别)

定义在类中、方法外,整个类可见。

Java
public class Person {
    String name;      // 实例变量
    static int count; // 静态变量

    public void say() {
        System.out.println(name);  // 可访问
    }
}
类型默认值生命周期
实例变量有默认值对象创建到销毁
静态变量有默认值类加载到卸载

局部变量(方法级别)

定义在方法内,仅方法内可见。

Java
public void method() {
    int a = 10;  // 局部变量
    System.out.println(a);  // 可访问
}

public void other() {
    // System.out.println(a);  // 编译错误,不可访问
}

局部变量没有默认值,必须初始化后使用。

代码块变量(块级别)

定义在代码块内,仅块内可见。

Java
public void demo() {
    if (true) {
        int x = 10;  // 块级变量
        System.out.println(x);  // 可访问
    }
    // System.out.println(x);  // 编译错误,超出作用域
}

作用域覆盖规则

Java
public class Demo {
    int x = 10;  // 成员变量

    public void method() {
        int x = 20;  // 局部变量,覆盖成员变量
        System.out.println(x);  // 输出 20

        // 访问被覆盖的成员变量
        System.out.println(this.x);  // 输出 10
    }
}

要点总结

  • 成员变量:类级别,有默认值
  • 局部变量:方法级别,无默认值
  • 块变量:代码块级别,块外不可见

📝 发现内容有误?点击此处直接编辑

下一篇 → Java 变量声明与初始化
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库