用Java中的访问修饰符重新声明变量



如果我声明一个变量为私有变量,我是否可以在另一个方法中重新声明它?

这是关键,因为我使用Netbeans生成GUI代码,而且它每次都对变量使用相同的名称。有什么方法可以避免我不得不更改每个变量吗?

添加/编辑:这也适用于方法本身吗?物体呢?

局部变量和私有实例变量,即使名称相同,也是两个不同的变量。这是允许的。局部变量隐藏实例变量。访问隐藏实例变量的唯一方法是在其前面加上this.

方法内部的局部变量不能用可见性修饰符(publicprivateprotected或默认值)声明,只有类的属性才能使用这些修饰符。

您可以在不同的方法中重用相同的变量名,这不会引起冲突。用与类属性不同的名称命名方法中的局部变量是一种很好的做法。让我自己清楚一点:

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
    }
}

如果这是您所指的:,则这是有效的

public class Experiment {
    private int test;
      public void again()
        {
            int test ;   //the local variable hides the previous one
        }
}

考虑以下

public class Example {
  private String outerString = "outer";
  public void exampleMethod(){
    String outerString = "inner";
    System.out.println(outerString);      // prints "inner"
    System.out.println(this.outerString); // prints "outer"
  }
}

方法外的变量被方法内同名的变量遮蔽。这种事情是不鼓励的,因为它很容易混淆。你可以在这里和这里阅读更多。

相关内容

  • 没有找到相关文章

最新更新