java入门(七)——详解变量作用域
文章目录
一、变量的作用域
什么是作用域?
- Java用一对大括号{}作为语句块的范围,称为作用域
- 变量只在作用域内起作用,即在半括号}之前
二、作用域中变量命名问题
2.1在同一作用域范围的包裹下成员变量名和局部变量名可以变量名相同
解释同一作用域范围包裹:类体{}是一个作用域,方法体{}是一个作用域,类体包含方法体
2.2在同一个作用域范围的包裹下局部变量和局部变量不可以变量名相同
下面代码:编译报错:已在方法 main(String[])中定义了变量 i
i在main方法及for循环两个域中都为局部变量,main包含for,因此i作用于main方法
2.3局部变量超出了它本身的作用域范围则会失效,被JVM垃圾回收,那么则可以重复命名此变量
下面代码正常编译:for域中的i被jvm回收
提示:方法体和循环中声明变量,执行结束,变量内存释放
三、总结
- 在同一作用域范围的包裹下成员变量名和局部变量名可以变量名相同
- 在同一个作用域范围的包裹下局部变量和局部变量不可以变量名相同
- 局部变量超出了它本身的作用域范围则会失效,被JVM垃圾回收,那么则可以重复命名此变量
变量的作用域,一句话概括就是,出了{}大括号就不认识了