查看“Java的变量作用域”的源代码
←
Java的变量作用域
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==变量作用域== 变量作用域是变量可以使用的范围,取决于变量声明的位置。Java 变量的范围有四个级别:类级、对象实例级、方法级、块级。 *类级变量又称全局级变量,在对象产生之前就已经存在,即用static修饰的属性。 *对象实例级,就是属性变量。 *方法级:就是在方法内部定义的变量,就是局部变量。 *块级:就是定义在一个块内部的变量,变量的生存周期就是这个块,出了这个块就消失了,比如if、for语句的块。 '''【实例3-7】'''变量作用域演示程序设计。 <nowiki>public class TestVariable { private static String name = "类级";// 类级 private int i; // 对象实例级 {// 属性块,在类初始化属性时候运行 int j = 3;// 块级 } public void test1() { int j = 4;// 方法级 if (j == 4) { int k = 5;// 块级 } // 这里不能访问块级的变量,块级变量只能在块内部访问 System.out.println("name=" + name + ",i=" + i + ",j=" + j); } public static void main(String[] args) { TestVariable t = new TestVariable(); t.test1(); TestVariable t2 = new TestVariable(); } }</nowiki> 程序运行结果如下: name=类别,i=0,j=4 若局部变量与类的成员变量同名,则类的成员变量被隐藏。下面的例子说明了局部变量z和类成员变量z的作用域是不同的。 '''【实例3-8】'''同名变量作用域测试程序设计。 <nowiki>public class Variable { int x = 0, y = 0, z = 0;// 类的成员变量 void init(int x, int y) { this.x = x; this.y = y; int z = 3; // 局部变量 System.out.println("** in init**" + "x=" + x + " y=" + y + " z=" + z); } } public class VariableTest { public static void main(String args[]) { Variable v = new Variable(); System.out.println("**before init**" + "x=" + v.x + " y=" + v.y + "z="+ v.z); v.init(10, 15); System.out.println("**after init**" + "x=" + v.x + " y=" + v.y + "z="+ v.z); } }</nowiki> 运行程序结果如下。 <nowiki>**before init**x=0 y=0 z=0 ** in init **x=10 y=15 z=3 **after init**x=10 y=15 z=0</nowiki> 返回 [[Java程序设计]]
返回至
Java的变量作用域
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息