由于在C++里边是支持的,自己写了发现报错了。查了一下:
局部变量for(String s:l)不允许,因为上面的定义过s——String[] s;
虽然数据类型不同,但是java就是不允许,编译器会报告变量x已经定义过。
java设计者认为这样做会导致程序混乱。
但是全局变量和局部变量同名是允许的。
public class testnametype {
static int b =3;
int a;
{
a=1;
}
public static void main(String... s){
System.out.println(new testnametype().a+" "+testnametype.b);
int a=2;
int b=4;
System.out.println(a+" "+b);
}
}