语法: 对象 instanceof 类;

含义:如果这个对象时这个类或者这个类的子类的实例化,那么结果及时ture, 否则 false。

常常用来判断一个类是否是某个类的子类,以此判断A类是否继承或者间接继承B类。

实例1:

一、对象A是类B的子类的实例化对象

package equalsTest;

public class Test00
{
public static void main(String[] args)
{
Father f = new Father();
User1 u1 = new User1();
User2 u2 = new User2(); //u1对象是Father类的子类的实例化,所以返回ture
if(u1 instanceof Father)
{
System.out.println("ture");
}
else System.out.println("flase");
}
} //父类
class Father {} //子类1
class User1 extends Father {} //子类2
class User2 extends Father {} 

此时返回的结果就是ture;u1对象是不是Father类的实例化,但是是Father子类的实例化,所以是ture

二、如果是下面这种情况:

如果返过来,父类的对象 instanceof 子类

	if(f instanceof User1)
{
System.out.println("ture");
}
else System.out.println("flase");

结果是false; 此时f不是User1类的实例化对象,同时也是不是User1子类的实例化对象,所以false。

三、两个类有间接继承关系

package equalsTest;

public class Test00
{
public static void main(String[] args)
{ Father f = new Father();
User1 u1 = new User1();
User2 u2 = new User2(); //u1对象是Father类的子类的实例化,所以返回ture
if(u2 instanceof Father)
{
System.out.println("ture");
}
else System.out.println("flase");
}
} //父类
class Father {} //子类1
class User1 extends Father {} //子类2间接继承Father
class User2 extends User1 {}

此时结果是:ture; 所以如果对象时这个类的实例化,或者子类的实例化,或者子类的子类的实例化。

所以任何对象 instanceof Object都是ture

instanceof简单用法的更多相关文章

  1. Android MultiType第三方库的基本使用和案例+DiffUtil的简单用法

    1.MultiType简单介绍 1.1.MultiType用于比较复杂的页面. 如下图,今日头条用到了MultiType处理各种复杂的页面.    这种还是比较简单的类型.因为一个页面也就这种类型. ...

  2. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  3. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  4. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  5. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  6. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

  7. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  8. TransactionScope简单用法

    记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

  9. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

随机推荐

  1. Linux下的常见压缩解压缩命令

    Linux常见压缩解压缩命令 常见压缩文件扩展名 .Z compress 程序压缩的文件: .zip zip 程序压缩的文件: .gz gzip 程序压缩的文件: .bz2 bzip2 程序压缩的文件 ...

  2. [UNITY 5.4 UGUI] 模态对话框

    1.建立两个画布 a.背景界面 b.置顶界面(添加一个 panel 控件) 2.修改置顶界面中 panel ,添加属性 [Canvas Group] 3.根据界面设计情况修改透明度,色彩,图片

  3. 1. maven 手动添加jar包

    mvn install:install-file -Dfile=isc_sso_agent-1.0.jar -DgroupId=com.sgcc.isc -DartifactId=isc_sso_ag ...

  4. 关于Float.parseFloat()的一点探讨

    最近在解决线上的bug时,遇到一个问题. 第三方传过来的课程编码时4214410000,然而我们存进数据库的值却变成了4214409980.查遍了所有的代码都查不到有对这个值修改的代码.最后,通过打印 ...

  5. PCIe传输速率和可用带宽(吞吐量)计算

      版权声明:本文为博主原创文章,若要转载请保留原文链接. https://blog.csdn.net/s_sunnyy/article/details/79027379 参考:https://bai ...

  6. 《Java开发学习大纲文档》V6.0(已经不公布了,请查看第七版)

    <Java开发大纲学习文档第六版>简介: 有需要的私聊作者QQ:253173641.

  7. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket+crowd+seafile (零) 修改端口的问题

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket+seafile  (零)  修改端口的问题 来来来,今天说个没有人说过的事, 搭建好Jira+Confluenc ...

  8. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装bitbucket 5.7.0

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装bitbucket 5.7.0 安装Bitbucket的教程, 网上能找见的不多, ...

  9. mybatis调用存储过程并且有多个返回output值

    mapperxml配置 配置时需要注意 parameterMap在mybatis3.2.6版本已经不再用了,而是使用 parameterType <select id="callget ...

  10. python之科学函数课——Numpy

    一般来讲,数据都是由行列表示的,也就是矩阵,类似于Excel表格一样的东西. 首先我们学习一下Numpy,装好anaconda之后默认是装好的,下面是numpy的一些函数库:Numpy是科学计算库,是 ...