黑马程序员技术交流社区
标题:
变量的作用域的问题,请详细回答,越详细越好
[打印本页]
作者:
2528870651
时间:
2014-3-29 00:07
标题:
变量的作用域的问题,请详细回答,越详细越好
class Test
{
static int a=9;
static
{
int a=4;
int b= 3;
System.out.println("静态代码块中的a和b分别为: "+a+" "+b); // 4 3
}
public static void main(String[] args)
{
int a= 10;
{
//int a=4; //main函数里面定义了a,不能再定义
int b= 3;
System.out.println("构造代码块中的a和b分别为: "+a+" "+b); // 10 3
}
//System.out.println(a+" "+v.b);
Test v = new Test();
//System.out.println(a+" "+v.b); //这里怎么找不到静态代码块中的b和a??
//静态代码块中的a和b,不会和主函数的a和b冲突吗??
System.out.println(v.a); //9 ??
System.out.println(a); //10 ??
}
}
复制代码
作者:
xietansheng
时间:
2014-3-29 01:07
局部变量的作用域简单的说就是在定义变量时所在的 { } 代码块内,
比如:
{ //代码块A,开始
int a = 0;
{ // 代码块B,开始
a = 2; // 这里a有效
int b= 0;
} // 代码块B,结束
a = 3; // 这里a有效
// b = 5; // 这里b无效
} // 代码块A,结束
//a = 4; // 这里a无效
复制代码
变量a:因为a是在“代码块A”中定义的,作用作用域就是定义开始出到“代码块A”结束处(当然其中也包括了“代码块B”);
变量b:因为b是在“代码块B”中定义的,所以出了“代码块B”就无效
作者:
北极雪871208
时间:
2014-3-29 07:08
局部变量的作用域只在它所在的代码块里才有效!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2