ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java 变量作用域

2022-05-08 21:00:07  阅读:108  来源: 互联网

标签: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);
    }
}

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

局部变量的生命周期

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

变量的访问顺序

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

标签:Java,变量,作用域,局部变量,访问,全局变量,方法
来源: https://www.cnblogs.com/jwyqn/p/16246878.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有