在类中访问类实例的私有变量 public class Cla { private int x; public int caculate(Cla c) { c.x = 0; return x + c.x; } public int getX() { return x; } public void setX(int x) { this.x = x; } }其中caculate()里我竟然可以直接访问私有变量x。我觉得即使同属一个类,也不应该开放私有变量啊。这是为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 私有成员,在类外面不能引用。private int x;Cla cla = new Cla()cla.x 这样引用是错的如果public int x;Cla cla = new Cla()cla.x 这样引用是对的 对于类来说, 他自己函数当然能够访问自己的私有成员, 而caculate(Cla c) Cla c 无非是将自己这个类实体化了对象, 当然能访问了 应该可以这样解释:在类的本身中可以;但在其他类或子类中均不能;以上代码还是被认为在Cla中 看来是我没说清。我意思是为什么允许访问c.x。x对于c来说是私有的啊! 在外边看的确是私有的,外边是看不到的,但是你这方法是在类里面,为什么不能访问?如果这里还不能访问那么你认为这个PRIVATE在什么地方能够访问? 不仅如此,就连嵌套类型定义也是如此如有类A和B,B在A内部定义的,如果A有个私有变量c那么不仅A中的方法可以用上面的方法访问c就连B中的方法也可以 如何屏蔽掉windows XP 直接进入程序 关于 oledb 连接 Access 数据库问题:自动生成 insert 等语句出错 c#实现winform下显示批量缩略图形式的图片 动态添加验证控件问题。 多关键字模糊查询后进行匹配排序显示的问题 Excel 列名从字符转为数字 窗体间传递数据的问题!!!求高手指教!!! 如何读取上传到数据库的文件 c# 新手求救 急!!!!!! SDK 1.1如何安装 [求教]局域网内发送邮件 在winform中,treeview中的node,点击右键要求可编辑节点。用什么事件呢?
cla.x 这样引用是错的如果public int x;Cla cla = new Cla()
cla.x 这样引用是对的
我意思是为什么允许访问c.x。x对于c来说是私有的啊!
如有类A和B,B在A内部定义的,如果A有个私有变量c那么不仅A中的方法可以用上面的方法访问c就连B中的方法也可以