A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class Person
  2. {
  3. private String name;
  4. private int age;
  5. Person(String name,int age)
  6. {
  7. this.name = name;
  8. this.age = age;
  9. }

  10. public boolean equals(Object obj)
  11. {


  12. if(!(obj instanceof Person))//为什么要判断?
  13. return false;


  14. Person p = (Person)obj;
  15. //System.out.println(this.name+"....."+p.name);


  16. return this.name.equals(p.name) && this.age == p.age;
  17. }
复制代码
问题是,为什么要判断instanceof?传进来的对象不是已经被向上转型为object类了吗?instanceof是判断左边的对象是否是右边类的实例,参数传递的时候Object obj = new Person();此类不是变成了Obejct的实例了吗?那instanceof用来干嘛?为什么instanceof Person不会返回false??

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马