`
fire314159
  • 浏览: 30702 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

instanceof运算符、Class的isInstance( )与isAssignableFrom

阅读更多
instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。
形象地:自身实例或子类实例 instanceof 自身类   返回true
例: String s=new String("javaisland");
       System.out.println(s instanceof String); //true
 
Class类的isInstance(Object obj)方法,obj是被测试的对象,如果obj是调用这个方法的class或接口 的实例,则返回true。这个方法是instanceof运算符的动态等价。
形象地:自身类.class.isInstance(自身实例或子类实例)  返回true
例:String s=new String("javaisland");
      System.out.println(String.class.isInstance(s)); //true
 
Class类的isAssignableFrom(Class cls)方法,如果调用这个方法的class或接口 与 参数cls表示的类或接口相同,或者是参数cls表示的类或接口的父类,则返回true。
形象地:自身类.class.isAssignableFrom(自身类或子类.class)  返回true
例:System.out.println(ArrayList.class.isAssignableFrom(Object.class));  //false
      System.out.println(Object.class.isAssignableFrom(ArrayList.class));  //true
分享到:
评论
1 楼 Autinhorse 2008-07-07  
上面的例子不是太好。这些函数应该是原有对象类型是动态的时候才需要使用的。如果你简单把s定义成String,再用s instanceof Integer,在编译的时候就已经出错了,因为编译器就发现类型不匹配。
我在这里做了一个具体的例子,应该很容易理解的。
http://www.baizeju.com/html/Java/200807/07-122.html

相关推荐

    15.instanceof运算符.zip

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

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

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

    java instanceof运算符.txt

    java instanceof运算符

    JavaJoop 多态 instanceof运算符

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

    JavaScript中instanceof运算符的用法总结

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

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

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

    Java instanceof 运算符的使用方法

    * instanceof 前面的操作数的编译时类型要么与后面的类相同,要么与后面的类具有父子继承关系,否则会引发编译错误。 * instanceof 运算符只能用于判断对象是否是某个类或接口的实例,不能用于判断基本类型是否是...

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

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

    JavaScript中instanceof运算符的使用示例

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

    Damaer#Coding#instanceof用法详解1

    1. instanceof关键字 2. isInstance()方法 3. instanceof,isInstance,isAssignableFrom区别是什

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

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

    深入剖析JavaScript instanceof 运算符

    首先,`instanceof`与`typeof`运算符的主要区别在于它们处理引用类型的方式。`typeof`通常用于返回一个变量的原始类型,而对于对象,它总是返回`"object"`,除非对象是`null`,这时`typeof`会返回`"null"`。相比之下...

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

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

    Java的super关键字与instanceof运算符使用方法

    在Java编程语言中,`super`关键字和`instanceof`运算符是两个非常重要的概念,它们在处理类的继承关系时发挥着关键作用。本文将详细介绍这两个关键字的使用方法。 首先,`super`关键字用于访问和调用父类的成员。在...

    JavaScript的instanceof运算符学习教程

    instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。 // 定义构造函数 function C(){} function D(){} var o = new C(); // true,因为 Object.getPrototypeOf(o) === C....

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

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

Global site tag (gtag.js) - Google Analytics