我试了一下,若是把设置为全局变量,再在方法里面的for里面再次声明 int i ,是不会报错的, 若是在方法里面写int i,再在方法里面的for里面再次声明 int i ,这样才会报错。
贴代码: package helper;public class Untitled1 { int i; public void test() { for (int i = 0; i < 4; i++) { System.out.print(""); } } public void Untitled1() { }
}
上面是没有报错,下面报错了: package helper;public class Untitled1 { public void test() { int i; for (int i = 0; i < 4; i++) { System.out.print(""); } } public void Untitled1() { }
}
你说的对吗? 不是方法不方法的问题,同一个方法里面多个for还不能都用i了?
一个域内,平等情况下重复定义显然是不允许java书上更多的强调的是一个域内的嵌套定义,即在一个域的嵌套域内重复定义,Java不允许,C++和C允许的 也就是像这样{ int x = 12; { int x = 96; //Java不允许 } }Java不允许对于类成员和局部变量似乎不冲突
若是在方法里面写int i,再在方法里面的for里面再次声明 int i ,这样才会报错。
package helper;public class Untitled1 {
int i;
public void test() {
for (int i = 0; i < 4; i++) {
System.out.print("");
}
} public void Untitled1() {
}
}
package helper;public class Untitled1 {
public void test() {
int i;
for (int i = 0; i < 4; i++) {
System.out.print("");
}
} public void Untitled1() {
}
}
不是方法不方法的问题,同一个方法里面多个for还不能都用i了?
也就是像这样{
int x = 12;
{
int x = 96; //Java不允许
}
}Java不允许对于类成员和局部变量似乎不冲突