`
ZangXT
  • 浏览: 118331 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

instanceof的使用

 
阅读更多

     总结:Java Puzzlers一书中的谜题50
看几行代码:

  1. publicclassMain{
  2. publicstaticvoidmain(String[]args){
  3. Strings=null;
  4. System.out.println(sinstanceofString);
  5. System.out.println(newMain()instanceofString);
  6. Mainm=(Main)newObject();
  7. }
  8. }

当然,3个instanceof所在的语句不应该写到一个例子中,明白即可。
第一个,System.out.println(sinstanceofString); null对于每一个引用类型来说都是其子类型,但是instanceof操作符被定义为在其左操作数为null时返回false。所以 s instanceof String 的结果是false。
第二个,
System.out.println(newMain()instanceofString);这个会导致编译错误,编译的时候就可以确定两个类型没有继承关系。
第三个,这个不会导致编译错误,但会在运行时出错,类型转换错误,毕竟创建的这个对象的实际类型不是Main.

关键:能够分清楚什么情况下出错,为什么出错。

分享到:
评论

相关推荐

    JS中typeof与instanceof的区别

    使用 typeof 和 instanceof 还有其他一些区别,例如 alert(typeof(window)) 会得 object,但 window 不是一个 object 类型的对象,而是一个 Window 对象。 typeof 和 instanceof 都是 JavaScript 中的基本运算符,...

    instanceof关键字.md

    本文将详细解释`instanceof`的关键特性和使用场景,并通过示例代码加深理解。 #### 一、基本概念 `instanceof`的关键作用在于类型检查,即判断一个对象是否属于指定的类或接口类型。其语法结构为: ```java ...

    instanceof.js ES5的instanceof手写实现

    ES5的instanceof手写实现

    javascript判断一个变量是数组还是对象

    javascript中如何准确判断一个变量是什么,面试中这是考一个人基本功扎不扎实必定会问的一个问题。如果你还不是很清楚,相信这篇文章会...使用instanceof可以用来判断一个变量是数组还是对象,原理如下: 数组也是对象

    PHP强制对象类型之instanceof操作符

    在这个例子中,`generatePage`方法通过类型提示确保了传入参数的类型,然后使用`instanceof`进一步确认。 ### 总结 `instanceof`操作符是PHP 5面向对象编程中一个重要的工具,它使得开发者能够有效地验证和控制...

    instanceof 和 prototype 关系

    在JavaScript中,`instanceof`和`prototype`是两个非常重要的概念,它们涉及到对象的类型检测和继承机制。本文将深入探讨这两个关键字的...了解和掌握这两个概念,对于理解和使用JavaScript的面向对象特性至关重要。

    15.instanceof运算符.zip

    15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof...

    JS:typeof instanceof constructor prototype区别

    例如,可以使用`instanceof Array`来确认一个对象是否为数组,或者使用`instanceof Date`来判断一个对象是否为日期类型。 但是,`instanceof`依赖于原型链的完整性,如果对象的原型链被修改或破坏,可能会导致错误...

    向下转型和instanceof运算符的应用.pdf

    正确使用向下转型的关键在于`instanceof`运算符。`instanceof`用于检查对象是否属于特定的类或者实现了特定的接口。在Java中,其语法是`object instanceof ClassName`,而在Delphi中,虽然没有直接的`instanceof`...

    instanceof 判断引用类型,typeof判断基本类型。

    在JavaScript编程语言中,`instanceof` 和 `typeof` 是两个非常重要的操作符,用于判断变量的类型。它们各自有着不同的用途和用法,对于理解和调试代码至关重要。 首先,我们来详细了解一下`instanceof`操作符。`...

    instanceof关键字

    NULL 博文链接:https://chaoyi.iteye.com/blog/2079574

    instanceof关键字---马克-to-win java视频

    instanceof 马克-to-win java视频的详细的描述介绍

    288.286.JAVA基础教程_面向对象(中)-instanceof关键字的使用(288).rar

    在"288.286.JAVA基础教程_面向对象(中)-instanceof关键字的使用(288)"这个教程中,我们将深入探讨`instanceof`的用法和它在实际编程中的应用。 `instanceof`的基本语法是`object instanceof ClassName`,这里的`...

    JavaScript中instanceof运算符的使用示例

    instanceof运算符的使用有助于理解JavaScript中的原型继承机制。 在JavaScript中,每个对象都有一个原型(prototype),原型本身也是对象,并且继承自另一个原型,直到原型链的终点,这个终点通常是Object....

    JavaScript的instanceof有bug?

    1. **避免使用`instanceof`检查`null`**:对于`null`,直接使用`=== null`进行判断更为合适。 2. **注意跨域问题**:当涉及跨窗口或iframe通信时,避免依赖`instanceof`进行类型检查,可以使用更直接的方法,如`...

    javascript instanceof 与typeof使用说明

    需要注意的是,在for循环中应该使用'in'来遍历对象t中的键,而不是使用'instanceof'。'instanceof'运算符通常用在if语句中对单个对象和构造函数进行检查。在上述示例中,instanceof被用来检查传入的obj是否是t对象中...

    JavaScript instanceof 的使用方法示例介绍

    当使用 `instanceof` 检查一个对象 `obj` 是否是构造函数 `C` 的实例时,实际上是在检查 `obj.__proto__` 是否指向 `C.prototype`。如果指向,或者沿着 `obj` 的原型链向上查找,能找到 `C.prototype`,那么 `obj` ...

Global site tag (gtag.js) - Google Analytics