我可以想象变量的3种可见性(但我认为还有更多):
在方法中使用变量,并且从方法外部看不到此变量值的任何更改(因此它对于特定方法是本地的)。
变量是类的本地变量,这意味着它从类的外部是不可见的。但是,类的任何方法都可以轻松查看和更改此变量的值,而无需在方法的参数列表中提供变量(因此它在类中是全局的)。
变量可以通过“objectName.variableName”访问。
如何声明这些不同类型的变量?
答案 0 :(得分:3)
1)方法中声明的任何变量仅在该方法中可见。 (方法本地)。程序员别无选择。
2)使用修饰符private
声明的任何变量仅在其被声明的类的实例中可见。
3)public
变量可以从任何具有object.variable的类访问;可以通过这种方式从子类访问protected
个变量; private
变量只能在声明变量的类的实例中以这种方式访问。
有关详情和参考,请参阅Java Learning Trail on Sun's website。
但是:将类成员(变量)暴露给其他类是不好的做法,应该使用方法启用访问,例如:
public class MyClass {
private int myInt;
public int getMyInt() {
return myInt;
}
public void setMyInt(int newInt) {
myInt = newInt;
}
}
答案 1 :(得分:2)
重要的是要记住:如果在类中声明一个变量而不使用任何访问修饰符,那么它将是package-private。这意味着从同一个包中的其他类可以使用 objectname.variable 引用它,而不能从其他包中的类引用它。
答案 2 :(得分:0)
1:方法
中的int i;
之类的东西
2:使用private
修饰符或protected
修饰符
3:使用public