如果我声明一个变量是私有的,我可以在另一个方法中重新声明它吗?
这很关键,因为我使用Netbeans生成我的GUI代码,并且每次都使用相同的变量名称。有什么方法可以避免改变每个变量吗?
ADDITION / EDIT:这是否也适用于方法本身?对象怎么样?
答案 0 :(得分:3)
局部变量和私有实例变量,即使名称相同,也是两个不同的变量。这是允许的。局部变量隐藏实例变量。访问隐藏实例变量的唯一方法是在其前面添加this.
答案 1 :(得分:2)
方法中的局部变量不能使用可见性修饰符(public
,private
,protected
或默认值)声明,只有类的属性才能使用这些修饰符。 / p>
您可以在不同的方法中重用相同的变量名称,它不会导致冲突。在一个方法中将局部变量命名为与该类属性不同的名称是一个好习惯。为了使自己清楚:
public class Test {
private String attribute1; // these are the attributes
private String attribute2;
public void method1() {
String localVariable1; // variables local to method1
String localVariable2;
}
public void method2() {
String localVariable1; // it's ok to reuse local variable names
String localVariable2; // but you shouldn't name them attribute1
// or attribute2, like the attributes
}
}
答案 2 :(得分:2)
这是有效的,如果这是你所指的:
public class Experiment {
private int test;
public void again()
{
int test ; //the local variable hides the previous one
}
}
答案 3 :(得分:1)