为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

holdtom 2023-06-08 19:58:53
我有两个来自同一类的对象,称其为“第一”和“第二”。我有一个接受对象的方法,所以我使用“第一个”对象,调用该方法,将“第二个”对象传递给该方法。在该方法中,为什么我可以访问“第二个”对象的私有实例变量?我说的有道理吗?// Day.java, basic example of my questionpublic 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;  }}
查看完整描述

2 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

//img1.sycdn.imooc.com/6481c2aa0001b7a306530222.jpg

检查此表

查看完整回答
反对 回复 2023-06-08
?
FFIVE

TA贡献1797条经验 获得超6个赞

因为您仍在从它所属的同一类中访问您的变量。

private变量在类外是不可见的:但在它们所属的类内是完全可见的。

如果您试图在另一个类中实例化您的类,则必须使用 getter 来获得访问权限。


查看完整回答
反对 回复 2023-06-08
  • 2 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信