在java中,static代码块中的成员变量是局部变量,只在static代码块内有效,例如
public class test {
static int i=20;
static {
int i=10;
}
这样编译时可以通过的,请问这样如何可以访问到static中的那个i值呢,如果变量名不一样,例如
static{
   int b=10; 
}
这个b该如何访问呢javastatic成员变量

解决方案 »

  1.   

    =============================================
    static中的那个i值是10,也改变不了static int i = 20的值。
    static {
    int i = 10;
    }
    过了代码块后,i作用域就没了。
    至于你定义b还是c,都只是一个名字,是叫你楼主还是LZ还是其它的,
    这有什么不一样?
      

  2.   

    访问不到,如果使用i = 10;那么你程序访问的i就是上面的i,但是代码块你又声明int i,程序会认为这是两个不同的变量,代码块为i分配另一个空间,但是你用不到他,b也是一样,因为他们在类中没有声明,计算机只是把它们放在一个空间,俗点讲就是你手上没有任何把柄,你不能拿到他们。