分享
三行代码  ›  专栏  ›  技术社区  ›  Hari Rao

主方法中的私有访问修饰符-Java[重复]

  •  0
  • Hari Rao  · 技术社区  · 1 周前

    我在Java工作了一段时间,但下面的内容令人惊讶。这看起来是一个基本问题,但很抱歉,我不明白这是怎么可能的。在下面的代码中,可以访问私有变量rope和方法iamPrivateToo,如-new Jump().rope和new Jump().iamPrivateToo()。。所以封装对主类不好吗?渴望知道它是如何工作的。谷歌搜索和我没有看到类似的东西。

      public class Jump {
       private int rope = 1; 
       protected boolean outside;
       public Jump() {
          this(4);
          outside = true;
       }
       public Jump(int rope) {
          this.rope = outside ? rope : rope+1;
       }
       private void iamPrivateToo(){
           System.out.println("I am private too");
       }
       public static void main(String[] bounce) {
          System.out.print(new Jump().rope); // SURPRISE
           new Jump().iamPrivateToo(); // SURPRISE
       }
    }
    
    2 回复  |  直到 1 周前
        1
  •  2
  •   Riccardo Chimisso    1 周前

        2
  •  3
  •   Thilo    1 周前

    主课没什么特别的。

    private 可以从类本身的所有代码访问字段和方法。

    这也适用于除 this . 否则很难写一个 equals if (this.x == other.x)