java - 访问Java中的私有(private)字段

标签 java

我不明白为什么我可以在类之外访问私有(private)的 private int i

public class Fish {

    private int i = 1;

    public static void main(String[] args) {
        Fish k = new Fish();
        k.i = 2; // it IS possible
    }

}

最佳答案

访问修饰符适用于类级别,而不是对象级别

您可以访问 k.i,因为代码位于声明成员 i 的同一类中。

基本原理(afaik)如下:您封装数据(部分)以简化 future 的维护和重构。重构代码时,重构的是类,而不是对象。

关于java - 访问Java中的私有(private)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4340129/

相关文章:

java - 无法弄清楚我的 rot-13 方法有什么问题

java - Spring boot + activiti 具有两个数据源

java - 产生 IllegalStateException 的基于登录的应用程序

java - 使用 JsonReader.setLenient(true) 接受第 1 行第 1 列路径 $ 处格式错误的 JSON,并且预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ 处为 STRING

java - 如何将固定大小的 Canvas 包裹在 BorderPane 中的 ScrollPane 居中?

java - JavaFX 中的自动完成组合框

java - 如何从 Java Web Start (JDK 8) 升级到 jlink (JDK 9+) 以实现自动更新应用程序?

java - 当鼠标位于 JLabel 上方时,JLabel 下的黄色窗口 -> 如何删除?

java - 如何使用 Java 对 PKCS7 中的值进行编码?

java - 两个使用liquibase的项目,如何处理变更日志中的冲突?