黑马程序员技术交流社区

标题: 求助:instanceof [打印本页]

作者: Hosing    时间: 2014-7-5 11:27
标题: 求助:instanceof
  1. public boolean equals(Object obj)
  2. {
  3.     if(!obj instanceof Person)
  4.     return false;
  5. ......
  6. }
复制代码

问 instanceof 什么意思,if括号里要判断什么?其中,Person为自定义类
作者: 帮帮    时间: 2014-7-5 12:08
本帖最后由 帮帮 于 2014-7-5 12:09 编辑

格式:对象 instanceof 类。用于判断继承中的子类的实例(对象)是否为父类的实现(类)。
例如
String s = "Hello World!";
boolean isobject = s instanceof Object;
继承关系:Object <-- String
所以isobject的值为true

作者: EarlyHeart    时间: 2014-7-5 13:31
1.instanceof是Java中的一个运算符,语法规则:引用变量 instanceof 类名,意思是此引用变量所指向的对象是否属于运算符后面的那个类。所以要注意它只能用于引用变量。
2.
  1. public boolean equals(Object obj)
  2.         {
  3.             if(!(obj instanceof Person))//这里(obj instanceof Person)表示传入方法的Object引用变量obj
  4.                     //所指向的对象是否属于Person,返回true或者false,前面加否定符号"!"表示如果obj不是Person的实例
  5.                     //所以if括号里要判断传入的ob<b>是否不是</b>Person的对象
  6.                     
  7.             return false;
  8.             
  9.         
  10.         }
复制代码

作者: yang649981273    时间: 2014-7-5 14:23
对象 instanceof 类用于判断继承中的子类的实例(对象)是否为父类的实现(类)。

作者: Hosing    时间: 2014-7-5 15:01
EarlyHeart 发表于 2014-7-5 13:31
1.instanceof是Java中的一个运算符,语法规则:引用变量 instanceof 类名,意思是此引用变量所指向的对象是 ...

Thank You Very Much!
作者: Hosing    时间: 2014-7-5 15:02
帮帮 发表于 2014-7-5 12:08
格式:对象 instanceof 类。用于判断继承中的子类的实例(对象)是否为父类的实现(类)。
例如
String s = ...

Your answer is very smart.Many thanks!




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