A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Java中变量的作用域:


Java把变量的作用域分为两种一种是:

        1.成员变量,另一种是

        2.局部变量。


成员变量是在类的体内定义的变量,根据是否使用static修饰,有细分为:类属性的成员变量和实例属性的成员变量。

类属性的生存期和作用域是:随着这个类的初始化而存在,直到这个类被撤销而结束。

实例属性的生存期和作用域是:随着对象的创建而存在直到对象被撤销而消亡。



局部变量是:在方法体中或在代码块中定义的变量。
        
细分为:   方法局部变量  和   代码块局部变量


方法局部变量的作用域是:自定义之处起,直到该方法结束而终止。

代码块聚不聚变量的作用域是:自定义之处起,直到该代码块的结束而结束。





成员变量和局部变量的初始化的差异:

        当系统加载类或创建该类的实例时,系统会自动为成员变量分配内存空间,并在分配内存空间后,自动为成员变量指定初始值。


1.局部变量定义后,必须经过用户显式初始化后才能使用,系统不会为局部变量执行初始化。
        即:定义局部变量后,系统并未为这个变量分配内存空间,直到等到程序为这个变量赋初始值时,系统才会为局部变量
            分配内存,并将初始值保存到这块内存中。


成员变量保存在堆内存中,局部变量保存在栈内存中。

2.与成员变量不同,局部变量不属于任何类或实例,因此它总是保存在其所在的方法的栈内存中。
   栈内存中的变量无须系统垃圾回收,栈内存重的变量往往是随方法或代码块的运行结束而结束的。
  因此,局部变量的作用域是从初始化该变量开始,直到该方法或该代码块运行完成而结束。
   因为局部变量只保存基本数据类型的值或者是保存对象的引用,因此局部变量所占的内存区通常比较小。




1 个回复

倒序浏览
好,非常好我终于找到了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马