为什么我可以在没有 getter 方法的情况下访问私有实例变量?

我有两个来自同一类的对象,称其为“第一”和“第二”。我有一个接受对象的方法,所以我使用“第一个”对象,调用该方法,将“第二个”对象传递给该方法。


在该方法中,为什么我可以访问“第二个”对象的私有实例变量?我说的有道理吗?


// Day.java, basic example of my question

public class Day{


  private int stuff = 1;


  public Day(int stuff){

   this.stuff = stuff;


  }


  public int m(Day d){ // This method takes in an object as a parameter

   int add = 0;

   add = this.day + d.day; // why can you do this? isn't "day" private?

   return add;

  }


}


holdtom
浏览 103回答 2
2回答

慕斯709654

检查此表

FFIVE

因为您仍在从它所属的同一类中访问您的变量。private变量在类外是不可见的:但在它们所属的类内是完全可见的。如果您试图在另一个类中实例化您的类,则必须使用 getter 来获得访问权限。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java