java - Private 可见性修饰符的含义

标签 java object instance visibility private

在下面的“Tosee”类中,当我调用 s.hiddenInt 时,hiddenInt 是可见的。 但是,当我在另一个类“CantSee”中创建“ToSee”对象时,私有(private)变量不可见。为什么会这样?我的印象是私有(private)意味着在一个类的任何实例中,客户端都看不到那个特定的实例变量或方法?为什么我能在“ToSee”的主要方法中看到 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 中的私有(private)意味着变量或方法只能在声明它的类中访问。如果您对私有(private)的印象是真实的,那么它将无法在任何地方访问,这将使其完全无用。

关于java - Private 可见性修饰符的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18917265/

相关文章:

java - 文件输入流空指针异常

java - 抽象类实例化内部类

c++ - C++中的模板模板参数。使用实例

java - 用于替换的字符串正则表达式

java - 如何使数组的前半部分是从 0 到 7 的随机整数,后半部分是数组前半部分的随机成员,但只能选择一次

java - 无法从播放服务获取位置更新

MATLAB - 如何比较两个对象是否相同或不同

object - 在黑暗中处理 OLE 应用程序

java - instanceof 运算符在原始和包装器类型数组的情况下

java - Lookup 对象的实例