转自:
http://www.java265.com/JavaJingYan/202205/16514583603236.html
instanceof是java的一个二元操作符,它是由字母组成的,所以也是java的保留关键字.
instanceof关键字的功能:
判断其左边对象是否为其右边类的实例,返回boolean类型的数据
可以来判断继承中的子类的实例是否为父类的实现
java中的instanceof是通过返回一个布尔值来指出
这个对象是否是这个特定类或者是它的子类的一个实例
下文笔者讲述java中instanceof和getClass的区别,如下所示:
instanceof和getClass都可用于比较两个对象是否属于同一个类的实例
但是
instanceof检测一个类的父类和子类(检测类和派生类),都会返回true
但是getClass是返回具体的字符串,只做严格的类判断
public class Test { /* *java265.com 示例分享 */ public static void testInstanceof(Object x) { System.out.println(\"x instanceof Parent: \"+(x instanceof Parent)); System.out.println(\"x instanceof Child: \"+(x instanceof Child)); System.out.println(\"x getClass Parent: \"+(x.getClass() == Parent.class)); System.out.println(\"x getClass Child: \"+(x.getClass() == Child.class)); } public static void main(String[] args) { testInstanceof(new Parent()); System.out.println(\"========================\"); testInstanceof(new Child()); } } class Parent { } class Child extends Parent { } /* 输出: x instanceof Parent: true x instanceof Child: false x getClass Parent: true x getClass Child: false ======================== x instanceof Parent: true x instanceof Child: true x getClass Parent: false x getClass Child: true */
来源:https://www.cnblogs.com/java265/p/16215219.html
本站部分图文来源于网络,如有侵权请联系删除。