日期:2014-05-20  浏览次数:20663 次

求助:java中一个局部变量问题?
Java code
class  Test
{
     int b=21;        //可以1
    {
         int b=12;    //可以2
    }
    public void test()
    {
        int b=2;    //可以3
        {
            int b=1;    //不可以4
        }
        {
            int a=2;     //可以5
        }
        {
            int a=2;    //可以9
        }
    }
}


为什么在成员方法中的b会出现局部变量重复哪?为什么1和2可以共存,3和4就不可以共存哪?

------解决方案--------------------
1是成员变量 2是局部变量所以1和2可以共存
3和4同处在由test方法对应的栈帧维护的局部变量表中
一个局部变量表中变量不能重复

有异议的来拍砖哦

------解决方案--------------------
我觉得1楼说的对。
http://blog.sina.com.cn/s/blog_3f9f7e7101011j7f.html