Java 变量作用域

变量作用域

变量作用域,即变量可被访问的范围

Java中变量分为全局变量局部变量

在类的的变量是有作用域这个概念的,Java 中除了属性【类属性】是全局变量,其他变量都是局部变量,即只能在这个方法或代码块中访问

全局变量

全局变量即定义在方法/代码块之外的变量为全局变量,它的作用域是全局作用域,即整个源文件。

全局变量可以添加访问修饰符

!全局变量有默认值!

class ... {
    public static void main (String[] args) {
        System.out.println(new VarTest().globalVar);
    }
}
class VarTest{
    // 全局变量可以直接使用
    // 因为有默认值
    int globalVar;
}

类属性的生命周期

类属性的声明周期从实例化对象开始,直到程序结束或没有任何变量指向这个对象。

局部变量

局部变量即定义在方法体内或代码块内的变量称为局部变量,它的作用域为局部作用域,即:仅在定义这个变量的方法体或代码块内可访问。

局部变量不能添加访问修饰符

在不同的方法变量与变量之间互不影响

!局部变量没有默认值!

class ... {
    public static void main (String[] args) {
        new VarTest().function();
    }
}
class VarTest{
    public void function () {
        int num;
        // 会报错
        // 因为局部变量没有默认值
        // 需要先赋值后使用
        System.out.println(num);
    }
}

局部变量可以与全局变量重名

局部变量的生命周期

从调用方法到方法结束,即随着方法的运行而产生,随着方法的结束而销毁。

变量的访问顺序

局部变量可以与全局变量重名,在访问时,按照就近原则访问,即:如果在当前方法/代码块中存在这个变量就访问这个变量,如果当前方法/代码块中不存在该变量,则会去寻找有没有这个名称的全局变量,如果有访问,如果没有报错。

posted @   假文艺青年。  阅读(888)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示