黑马程序员技术交流社区

标题: 问个关于instanceof的问题,如题 [打印本页]

作者: wrnlksblk    时间: 2015-7-26 11:35
标题: 问个关于instanceof的问题,如题
  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??





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