当前位置:  技术问答>java相关

private 的问题

    来源: 互联网  发布时间:2015-07-15

    本文导语:  同一个类的不同对象可以相互访问对方的private变量,这个该怎么理解?? | 类是对象的一个设计蓝图,它提供了完整的功能,具体的实现由各个对象实例去完成,不同的事例的对象都拥有各...

同一个类的不同对象可以相互访问对方的private变量,这个该怎么理解??

|
类是对象的一个设计蓝图,它提供了完整的功能,具体的实现由各个对象实例去完成,不同的事例的对象都拥有各自的实例变量,一个类的不同的实例变量都拥有各自的实例变量的一个拷贝,对于私有的变量只有自己的类的实例对象才可以直接访问。一个类不同的实例对象可以访问类变量。因为它对于不同的实例对象只有一个拷贝,是共享。还记得线程里start方法吗,它就是类方法(也叫静态方法)。

|
private的作用范围是:在定义的类内有效。你的情况是他们在访问自己的对象里面的private。因为是同一个类的对象所以他们有相同的成员变量,所以你在调用时,他们访问各自的。不是对方的。

|
我感觉这是一句费话,同一个类的不同对象绝大部分存在于其它类中,而在其它类中是不能访问类的私有成员的,即时他们相互自己可以使用对方的私有变量,但是由于他们存在的环境不允许这样做,等于不能!而在类自身中访问根本就没有什么可说的。

|
这样好象不行哦。
私有成员不是属于对象的吗?别的对象还可以存取,那还叫私有?
私有成员的值应该只能通过方法返回得到,不能直接取出。
这样不是破坏了类的封装性。
java能够这样吗?
c++是不能的。

|
liushmh(c++) :也许你误会了,假设有class A 的两个对象a1 a2 ,a1 能访问
a2里的某个元素 那么必然是A里定义了 访问该元素的方法
而private是对于class来说的 不是object

|
我认为wjmmml(笑着悲伤)说的是对的。
Y1并没有直接调用Y2的i,在CompareTo方法里参数是类You的一个实例(即Y2)
Y1是通过传了Y2这个参数,然后是Y2访问了私有变量i

|
how can compiler know y!=this?
the statment "a and b are the same object" is determined at runtime.
so, it is not feasible to say "method can only access private members of the object itself".
in other words, access protection is at class-level. not object level.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.lang.model.element枚举modifier的类成员方法: private定义及介绍
  • 关于private,小弟我有一题不懂
  • java命名空间java.lang.reflect类modifier的类成员方法: private定义及介绍
  • private void arrang(int a[n])这样可以吗,如果不,怎么解决?
  • java命名空间javax.crypto类cipher的类成员方法: private_key定义及介绍
  • 请问 access modifier 怎么翻译?? 就是 public ,private 等等。
  • java命名空间java.lang类character.unicodeblock的类成员方法: private_use_area定义及介绍
  • How to use Private constructors?
  • java命名空间java.lang类character的类成员方法: private_use定义及介绍
  • 关于private和protected
  • java命名空间java.lang类character.unicodeblock的类成员方法: supplementary_private_use_area_a定义及介绍
  • 请教:sun中程序执行semid = semget( IPC_PRIVATE, 1, 0600 | IPC_CREAT ),semid < 0,是什么原因?
  • java命名空间java.lang类character.unicodeblock的类成员方法: supplementary_private_use_area_b定义及介绍
  • 谁帮我理清一下所有的修饰符的搭配情况啊?比如public不能和private连用,而static可以和native连用.
  • java命名空间java.lang类character.unicodeblock的类成员方法: high_private_use_surrogates定义及介绍
  • C++中的三种继承public,protected,private详细解析
  • java命名空间java.nio.channels类filechannel.mapmode的类成员方法: private定义及介绍
  • 构造函数定义为private或者protected的好处
  • java命名空间java.security枚举keyrep.type的类成员方法: private定义及介绍
  • 深入理解C++中public、protected及private用法
  • java 类修饰符(private,public和protected)所代表的权限
  • 成员内部类可以为private,为什么?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3