同一类的两个对象之间能否相互访问私有成员函数?

孤尽JavaSea 2010-02-07 07:34:27
居然说可以,理由:属于同一类的两个对象之间可以相互访问私有成员变量。
说实话,这个问题我都不能很好的理解。
...全文
1030 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
rmm0001 2011-02-11
  • 打赏
  • 举报
回复
private 的意思说的很明白,本类中才能访问啊!!!
znlyj 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 m526562116 的回复:]

不能。。。只有在本类中才能防问。。。。
[/Quote]
rmm0001 2010-06-29
  • 打赏
  • 举报
回复
靠搞不懂,private是正对类来讲的,干嘛在对象上纠结,只要在本类的作用域范围内就可以访问。要问为什么就要问些Java的作者了。
blliy117 2010-02-10
  • 打赏
  • 举报
回复
说真的,

我就没明白这个是什么意思!


同一个类 的两个对象

其实和不同一个类的两个对象 是一样

访问权限也是一样的

就是公有的,你访问给我看看,那是不行的,你说你吃东西用别人的嘴那是不可能的!

  • 打赏
  • 举报
回复
引用 9 楼 jiangnaisong 的回复:
引用 4 楼 java_gannbare 的回复:
这也叫两个对象访问,晕

难道不是吗?
如:P p1=new P(),p2=new P();
p1.setX(p2);//p1修改了p2中private的x的值。

你认为才是?

我觉得这个只是p1访问了setX
  • 打赏
  • 举报
回复
我觉得这个问题转成语文的问题更好
别说私有了 就是公有的 你访问给我看看 a就是a的 b就是b的 你在A里面访问b 那是A访问的不是a访问的
bayougeng 2010-02-10
  • 打赏
  • 举报
回复
访问限制是在类层次上,不是对象层次上的。
bobo364 2010-02-10
  • 打赏
  • 举报
回复
可以的,刚查过thinking in java了
yueguangkai001 2010-02-10
  • 打赏
  • 举报
回复
引用 14 楼 bambooman 的回复:
引用 12 楼 yueguangkai001 的回复:
你说的这种情况是不是就像两个内部类之间调用彼此的私有变量和函数?
貌似是不行的

不一样, 似有封装是将属性和方法独立于类外边的其他类和对象,便于设计和维护代码,
但是对于同一个类,就没有这种必要了,多个同类对象之间似有属性的使用不影响上面的独立性,还会提高效率,特别是对象之间的复制功能。

不懂?那你的意思就是LZ所说的是对的拉,能不能给出例子看看,让我体会下 多个同类对象之间似有属性的使用不影响上面的独立性 ,实在是不懂
reeves101 2010-02-10
  • 打赏
  • 举报
回复

public class Test{
private TestA a;
private TestB b;
}
class TestA{
private String t1;
}
class TestB{
private String t2;
}



你的意思是a可以访问 t2????
TZJ1234567 2010-02-08
  • 打赏
  • 举报
回复
学习下,帮忙顶起!
Viweei 2010-02-08
  • 打赏
  • 举报
回复
那两个对象成员,需互为友元.才可访问另一个的私有成员.
bobo364 2010-02-08
  • 打赏
  • 举报
回复
可以的,private本类内可访问
doney_dongxiang 2010-02-08
  • 打赏
  • 举报
回复
当然 可以了啊
孤尽JavaSea 2010-02-08
  • 打赏
  • 举报
回复
同一类的 两个对象之间 能否 相互访问 私有成员函数

这个问题答案是可以的。我之所以不理解才上来问的。
knightzhuwei 2010-02-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 java_gannbare 的回复:]
这里所说的两个对象,我想应该是类之外独立生成的两个对象吧。
不是象这样投机取巧的方式实现的。
[/Quote]
LZ你告诉我怎么样写叫做不投机取巧?不要管语法是不是有错 写个代码出来看看
m526562116 2010-02-08
  • 打赏
  • 举报
回复
不能。。。只有在本类中才能防问。。。。
healer_kx 2010-02-07
  • 打赏
  • 举报
回复
不能直接访问,只能间接访问,比如通过public的方法。
bambooman 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yueguangkai001 的回复:]
你说的这种情况是不是就像两个内部类之间调用彼此的私有变量和函数?
貌似是不行的
[/Quote]
不一样, 似有封装是将属性和方法独立于类外边的其他类和对象,便于设计和维护代码,
但是对于同一个类,就没有这种必要了,多个同类对象之间似有属性的使用不影响上面的独立性,还会提高效率,特别是对象之间的复制功能。
yangkaixin1226 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 java_gannbare 的回复:]
这里所说的两个对象,我想应该是类之外独立生成的两个对象吧。
不是象这样投机取巧的方式实现的。
[/Quote]
本来那两个对象之中的私有成员变量就是独立的,可以利用3楼的方法互相访问的。
加载更多回复(12)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧