黑马程序员技术交流社区

标题: 关于private修饰的属性的一个疑惑,希望有朋友指导一下 [打印本页]

作者: 执着的桶牛    时间: 2014-11-18 13:37
标题: 关于private修饰的属性的一个疑惑,希望有朋友指导一下
private String name;
private int age;
....
public boolean equals(Object obj)
        {
                if(!(obj instanceof Student))
                        throw new ClassCastException("类型不匹配");
                Student s = (Student)obj;
                return (name.equals(s.getName())&&age==s.getAge());
        }

红色部分是我自己平时敲代码的写法,也是今天我有疑惑的地方。name被private修饰之后不是不能直接被对象所调用吗,为什么下面的代码也是可以的呢?
public boolean equals(Object obj)
        {
                if(!(obj instanceof Student))
                        throw new ClassCastException("类型不匹配");
                Student s = (Student)obj;
                return (name.equals(s.name)&&age==s.age);
        }
应该是一个小问题,但是却一直想不明白,希望有朋友解释一下!
作者: a8851625    时间: 2014-11-18 13:41
是不能被其他对象直接调用,自己都不能调用了还怎么叫自己声明的属性哦....
作者: DamonZh    时间: 2014-11-18 13:56
这个是在本类中调用的
作者: 奋斗的蜗牛ksd    时间: 2014-11-18 14:20
private 的意思是 其他类 即使创建对象 ,也不可以访问 你这个类的 private成员
作者: 夏至落叶    时间: 2014-11-18 21:29
被私有的属性只能在本类中调用,
作者: 王立腾    时间: 2014-11-18 21:32
私有的只能本类用。




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