1

我可以想象变量的 3 种可见性(但我认为还有更多):

  1. 变量在方法中使用,并且该变量的值的任何更改从方法外部是不可见的(因此它对于特定方法是局部的)。

  2. 变量是类的本地变量,这意味着它在类外部是不可见的。但是,类的任何方法都可以轻松查看和更改此变量的值,而无需在方法的参数列表中给出该变量(因此它在类中是一种全局的)。

  3. 变量可以通过“objectName.variableName”访问。

如何声明这些不同类型的变量?

4

3 回答 3

3

1) 在方法中声明的任何变量仅在该方法中可见。(本地方法)。程序员对此别无选择。

2) 使用修饰符声明的任何变量private仅在它所在的类的实例中可见。

3)public变量可以通过object.variable从任何类访问;protected只能从子类以这种方式访问​​变量;private只能在声明变量的类的实例中以这种方式访问​​变量。

有关详细信息和参考,请参阅Sun 网站上的 Java Learning Trail

但是:将类成员(变量)暴露给其他类是不好的做法,应该使用方法启用访问,例如:

public class MyClass {
  private int myInt;

  public int getMyInt() {
    return myInt;
  }

  public void setMyInt(int newInt) {
    myInt = newInt;
  }
}
于 2010-03-07T19:24:33.280 回答
2

Important to remember: If you declare a variable in a class and don't use any access modifier it will be package-private. That means from other classes within the same package you can reference it with objectname.variable while from classes in other packages you can't.

于 2010-03-07T19:30:20.473 回答
0

1:就像int i;方法内的东西

2:使用private修饰符或protected修饰符

3:使用public

于 2010-03-07T19:25:53.713 回答