首页  >  文章  >  Java  >  这样才能实现instanceof关键字

这样才能实现instanceof关键字

巴扎黑
巴扎黑原创
2017-07-18 18:28:041326浏览
如果用Java的伪代码来表现Java语言规范所描述的运行时语义,会是这样:
// obj instanceof Tboolean result;if (obj == null) {
  result = false;
} else {  try {
      T temp = (T) obj; // checkcast  result = true;
  } catch (ClassCastException e) {
      result = false;
  }
}

 

用中文说就是:如果有表达式 obj instanceof T ,那么如果 obj 不为 null 并且 (T) obj 不抛 ClassCastException 异常则该表达式值为 true ,否则值为 false 。
注意这里完全没提到JVM啊Class对象啊啥的,没有展现出如何从代码的角度获得T是一个什么类型。另外要注意 instanceof 运算符除了运行时语义外还有部分编译时限制,详细参考规范。


instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据

java 中的instanceof
运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

用法:
result = object instanceof class
参数:
Result:布尔类型。

Object:必选项。任意对象表达式。
Class:必选项。任意已定义的对象类。
说明:
如果 object 是 class
的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

以上是这样才能实现instanceof关键字的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn