【发布时间】:2013-09-25 20:54:19
【问题描述】:
在下面的“Tosee”类中,当我调用 s.hiddenInt 时,hiddenInt 是可见的。 但是,当我在另一个类“CantSee”中创建“ToSee”对象时,私有变量不可见。为什么会这样?我的印象是私有意味着在类的任何实例中,客户端都看不到那个特定的实例变量或方法?那为什么我能在 'ToSee' 的 main 方法中看到 hiddenInt 呢?
public class ToSee {
private int hiddenInt = 5;
public static void main(String[] args) {
ToSee s = new ToSee();
System.out.println(s.hiddenInt);
}
}
public class CantSee {
public static void main(String[] args) {
ToSee s = new ToSee();
System.out.println(s.hiddenInt);
}
}
【问题讨论】:
-
之所以称为私有是因为它只对特定类的实例可见
标签: java object instance visibility private