Java语言的多态性机制导致了引用变量的声明类型和其实际引用对象的类型可能不一致,再结合虚方法调用规则可以得出下述结论:声明为同种类型的两个引用变量调用同一个方法时也可能会有不同的行为(前面的虚方法调用)。
为更准确地鉴别一个对象的真正类型,Java语言引入了instanceof操作符,其使用格式为:
<引用类型变量> instanceof <引用类型>
这是一个boolean类型的表达式,当instanceof左侧的引用类型变量所引用对象的实际类型是其右侧给出的类型或其子类类型时,整个表达式的结果为true,否则为false。
我们来看一个例子,请看下面这些类的关系:类Student和Teacher派生自Person:
public class Person{
… …
}
public class Student extends Person{
… …
}
public class Teacher extends Person{
… …
}
现在有一个方法,接收一个Person类型参数,然后再在运行时根据传入的参数类型来做不同的操作,此时,就可以用instanceof来对输入的参数作判断:
public void methodA(Person p){
if(p instanceof Teacher)
{//statement 1}
if(p instanceof Student)
{//statement 2}
}
分享到:
相关推荐
15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof...
java instanceof运算符
instanceof运算符用于判断对象所属类型
向下转型和instanceof运算符的应用.pdf
多态的优势 实现思路/实现多态的三个要素 向上转型规则(子类到父类转换) 向下转型(父类到子类转换) 实现多态形式 instanceof运算符
instanceof 运算符简介 在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”。ECMAScript ...
instanceof 运算符简介 在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”。ECMAScript ...
JavaScript中instanceof运算符是返回一个 Boolean 值,指出对象是否是特定类的一个实例。 使用方法:result = object instanceof class其中result是必选项。任意变量。object是必选项。任意对象表达式。class是必...
一.instanceof运算符:此运算符可以判断一个变量是否是某个对象(类)的实例,返回值是布尔类型的。想要理解它的作用,必须对面向对象有所理解: 代码实例如下: 代码如下:var str=new String(“antzone”); console....
农业信息系统开发
instanceof运算符可以用来判断某个构造函数的prototype属性是否存在另外一个要检测对象的原型链上。 实例一:普遍用法 A instanceof B :检测B.prototype是否存在于参数A的原型链上. function Ben() { } var ben = ...
instanceof运算符可以用来判断某个构造函数的prototype属性所指向的对象是否存在于另外一个要检测对象的原型链上,这里我们就来看一下JavaScript的instanceof运算符学习教程
Java instanceof 运算符的使用方法
主要介绍了Java的super关键字与instanceof运算符使用方法,是Java入门学习中的基础知识,需要的朋友可以参考下