下面的代码给出了一个错误,因为变量 m 被定义了两次。
class one {
public static void main(String args[]) {
int m=10;
int m=10;
}
}
但是当声明在循环内完成时,它是可以的,即使m
仍然被定义了两次。
class one {
public static void main(String args[]) {
for(int i=1;i<=2;i++) {
int m=10;
}
}
}
并且编译器不会返回错误消息。
你能解释一下两者之间的区别吗?为什么有时我可以在同一个方法中两次声明同一个变量,有时却不行?