总结:Java Puzzlers一书中的谜题50
看几行代码:
-
publicclassMain{
-
publicstaticvoidmain(String[]args){
-
Strings=null;
-
System.out.println(sinstanceofString);
-
System.out.println(newMain()instanceofString);
-
Mainm=(Main)newObject();
- }
- }
当然,3个instanceof所在的语句不应该写到一个例子中,明白即可。
第一个,System.out.println(sinstanceofString); null对于每一个引用类型来说都是其子类型,但是instanceof操作符被定义为在其左操作数为null时返回false。所以 s instanceof String 的结果是false。
第二个, System.out.println(newMain()instanceofString);这个会导致编译错误,编译的时候就可以确定两个类型没有继承关系。
第三个,这个不会导致编译错误,但会在运行时出错,类型转换错误,毕竟创建的这个对象的实际类型不是Main.
关键:能够分清楚什么情况下出错,为什么出错。
分享到:
相关推荐
instanceof使用详细说明 最详细的 不看后悔的
ES5的instanceof手写实现
javascript中如何准确判断一个变量是什么,面试中这是考一个人基本功扎不扎实必定会问的一个问题。如果你还不是很清楚,相信这篇文章会...使用instanceof可以用来判断一个变量是数组还是对象,原理如下: 数组也是对象
JS中typeof与instanceof的区别
因为在项目中遇到了instanceof,因此总结了对instanceof关键字的理解,有需要的可以下载来看看。
现在转到本文的主题,我将介绍PHP 5中\\\"instanceof\\\"操作符的使用;你很快就会发现,它可以非常方便地用来确定是否你正在使用的对象属于一个特定的类型。本文将通过一些面向对象的示例来帮助大家理解如何在PHP 5...
15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof...
JS:typeof instanceof constructor prototype区别
NULL 博文链接:https://chaoyi.iteye.com/blog/2079574
instanceof 马克-to-win java视频的详细的描述介绍
typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果... 如果我们希望获取一个对象是否是数组,或判断某个变量是否是某个对象的实例则要选择使用instanceof。instanceof用于判断一个变量是否某个对象的实例
向下转型和instanceof运算符的应用.pdf
第21天,super,instanceof关键字的使用以及多态的认识
主要介绍了JavaScript中instanceof运算符的使用示例,instanceof的使用是JavaScript入门学习中的基础知识,需要的朋友可以参考下
那么instanceof的这种行为到底是如何实现的呢,现在让我们揭开instanceof背后的迷雾。 instanceof原理 照惯例,我们先来看一段代码: 代码如下: function Cat(){} Cat.prototype = {} function Dog(){} Dog.prototype...
java基础——方法的重写、多态+instanceof(csdn)————程序
java instanceof运算符
NULL 博文链接:https://yxc-gdut.iteye.com/blog/1812766