我可以想象变量的 3 种可见性(但我认为还有更多):
变量在方法中使用,并且该变量的值的任何更改从方法外部是不可见的(因此它对于特定方法是局部的)。
变量是类的本地变量,这意味着它在类外部是不可见的。但是,类的任何方法都可以轻松查看和更改此变量的值,而无需在方法的参数列表中给出该变量(因此它在类中是一种全局的)。
变量可以通过“objectName.variableName”访问。
如何声明这些不同类型的变量?
我可以想象变量的 3 种可见性(但我认为还有更多):
变量在方法中使用,并且该变量的值的任何更改从方法外部是不可见的(因此它对于特定方法是局部的)。
变量是类的本地变量,这意味着它在类外部是不可见的。但是,类的任何方法都可以轻松查看和更改此变量的值,而无需在方法的参数列表中给出该变量(因此它在类中是一种全局的)。
变量可以通过“objectName.variableName”访问。
如何声明这些不同类型的变量?
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;
}
}
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.
1:就像int i;
方法内的东西
2:使用private
修饰符或protected
修饰符
3:使用public