黑马程序员技术交流社区

标题: 本类对象访问本类其他对象的私有成员 [打印本页]

作者: 冯晓骏    时间: 2013-10-27 00:49
标题: 本类对象访问本类其他对象的私有成员
  1. class Person implements Comparable<Person>
  2. {
  3.         private String name;

  4.         Person(String name)
  5.         {
  6.                 this.name = name;
  7.         }

  8.         public int compareTo(Person p)
  9.         {
  10.                 return this.name.compareTo(p.name);
  11.         }
  12. }

  13. class Test
  14. {
  15.         public static void main(String[] args)
  16.         {
  17.                 new Person("1").compareTo(new Person("2"));

  18.                 //System.out.println(new Person("3").name);
  19.         }
  20. }
复制代码
为什么compareTo方法可以访问p的私有成员name
作者: 张运    时间: 2013-10-27 00:56
首先要Person类实现了Comparable接口,也实现了这个接口的compareTo的方法,你在使用name属性的时候是在类内部访问的。而在类的内部可以直接调用他的属性的。
作者: Jim-剣◆﹏    时间: 2013-10-27 09:28
你的代码斌没有直接用本类对象去访问其他对象的私有成员,实际上你是访问其他对象的方法,这个方法再去访问类的私有成员,类中的私有成员对内是可见的可直接操作的,外部是不可见
作者: 麦子    时间: 2013-10-27 11:04
一阵见血的回答你得问题
本类中是可以访问本类对象的私有成员的
你想想this.name不是也访问到了吗?

好好学习,基础很重要,不懂的可以问我
作者: To    时间: 2013-10-27 16:30
楼主你好,如果问题已解决请将帖子状态修改为提问结束,
如果未解决请继续追问,谢谢合作
修改方法请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2