`
liuwei1981
  • 浏览: 772519 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:161338
社区版块
存档分类
最新评论

77.instanceof运算符

 
阅读更多

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运算符.zip

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

    java instanceof运算符.txt

    java instanceof运算符

    instanceof运算符用于判断对象所属类型

    instanceof运算符用于判断对象所属类型

    JavaJoop 多态 instanceof运算符

    多态的优势 实现思路/实现多态的三个要素 向上转型规则(子类到父类转换) 向下转型(父类到子类转换) 实现多态形式 instanceof运算符

    JavaScript中instanceof运算符的用法总结

    JavaScript中的instanceof运算符是一种操作符,它用来检测一个对象是否为某个特定构造函数的实例,或者是否继承自某个特定类的原型链上。 instanceof运算符的使用方法非常简单,它返回一个布尔值(true或false),...

    Java面向对象程序设计-instanceof运算符.pptx

    在Java面向对象编程中,`instanceof`运算符是一个至关重要的概念,特别是在处理类与类之间的关系时。农业信息系统开发中,我们可能需要处理多种类型的对象,如农作物、动物、农机具等,这些对象可能继承自同一基类或...

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

    在面向对象编程中,向下转型和`instanceof`运算符是两种重要的概念,尤其是在多态性的实现中扮演关键角色。本文将深入探讨这两个主题,并结合Delphi编程语言的背景进行阐述,尽管`instanceof`运算符在Java中更为常见...

    Java实用课件第3章运算符、表达式与语句.ppt

    本章主要讲解了 Java 语言中的运算符、表达式和语句,包括算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、条件运算符和 instanceof 运算符等,以及语句的概述、分支语句、循环语句和跳转语句等。...

    Java instanceof 运算符的使用方法

    Java instanceof 运算符的使用方法 Java instanceof 运算符是 Java 语言中的一种二元运算符,它用于判断前面的对象是否是后面的类、接口、抽象类或其子类、实现类的实例。如果是,则返回 true,否则返回 false。 ...

    java运算符优先级.doc

    :、instanceof Java 运算符的优先级从高到低依次是: 1. 后缀运算符:()、[]、.、++ 2. 一元运算符:+、-、!、~ 3. 乘除运算符:*、/、% 4. 加减运算符:+、- 5. 移位运算符:、&gt;&gt;、&gt;&gt;&gt; 6. 比较运算符:==、!=、...

    JavaScript中instanceof运算符的使用示例

    JavaScript中的instanceof运算符是面向对象编程中非常重要的一个概念,它用于检测一个实例对象的原型链上是否包含某个构造函数的原型。instanceof运算符的使用有助于理解JavaScript中的原型继承机制。 在JavaScript...

    instanceof和typeof运算符的区别详解

    一.instanceof运算符:此运算符可以判断一个变量是否是某个对象(类)的实例,返回值是布尔类型的。想要理解它的作用,必须对面向对象有所理解: 代码实例如下: 代码如下:var str=new String(“antzone”); console....

    JAVA运算符.pdf

    运算符可以是单一的符号,如加号(+),也可以是关键字,如`instanceof`。Java语言支持多种类型的运算符,主要可以分为以下几类: 1. 算术运算符:包括加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)...

    Java语言基础入门教程 Java实训教程 4.类构造函数-this-静态属性方法-instanceof运算符共55页.pptx

    本次教程的主题围绕着Java中的高级类概念展开,具体包括类构造函数、`this`关键字、静态属性和方法、`instanceof`运算符等内容。这些知识点对于深入理解Java面向对象编程至关重要。 #### 二、类构造函数 构造函数是...

    大数据必学Java基础(十九):运算符总结

    6. 比较运算符:如`instanceof`,用于检查一个对象是否是特定类或其子类的实例. 二、运算符优先级别 理解运算符的优先级对于编写正确无误的代码至关重要。通常,不需要死记硬背优先级,但应该了解基本的规则: 1....

    实例讲解JavaScript中instanceof运算符的用法

    在JavaScript中,`instanceof`运算符是用来检测一个对象是否属于某个构造函数的实例,或者更具体地说,是否在该对象的原型链上能找到构造函数的`prototype`对象。这使得`instanceof`成为判断对象继承关系的重要工具...

    深入剖析JavaScript instanceof 运算符

    `instanceof` 运算符在JavaScript中是一个关键的类型检查工具,特别是在处理对象和类的实例时。它允许开发者确定一个对象是否是特定构造函数的实例,或者是否位于某个原型链上。以下是对`instanceof`运算符的深入...

Global site tag (gtag.js) - Google Analytics