zoukankan      html  css  js  c++  java
  • instanceof & isAssignableFrom的异同

    • instance 关注的是实例是否为类或接口的一个实例
    • isAssignableFrom 关注的是Class对象是否相同,或者Class1是Class2的超类或接口
      • Class1.isAssignableFrom(Class2)  

    一、验证代码如下

    package com.cctest.veritydemo;
    
    /**
     * @author: gkyang
     * @date: 2019-03-05
     * @description:
     */
    
    interface ClassDemoInteface {
    
    }
    
    class ClassDemoParent {
    
    }
    
    public class ClassDemo extends ClassDemoParent implements ClassDemoInteface{
    
        public static void main(String[] args) {
    
            ClassDemo cd = new ClassDemo();
    
            /* ----------- instance ------------*/
            System.out.println(cd instanceof ClassDemo);    // true
            System.out.println(cd instanceof ClassDemoParent);   // true
            System.out.println(cd instanceof ClassDemoInteface);   // true
            System.out.println(cd instanceof Object);
    
            /* ----------- isAssignableFrom ----------*/
            System.out.println(ClassDemo.class.isAssignableFrom(ClassDemo.class));  // true
    
            System.out.println(ClassDemo.class.isAssignableFrom(ClassDemoParent.class));  // false
            System.out.println(ClassDemo.class.isAssignableFrom(ClassDemoInteface.class));    // false
    
            System.out.println(ClassDemoParent.class.isAssignableFrom(ClassDemo.class));    // true
            System.out.println(ClassDemoInteface.class.isAssignableFrom(ClassDemo.class));    // true
    
        }
    
    }
  • 相关阅读:
    npm总是安装不成功,而且很慢?
    Nginx启动报错:10013: An attempt was made to access a socket in a way forbidden
    firebug如何使用
    video详解 HTML5中的视频:
    树的各种遍历
    SQL语句执行顺序
    vim常用命令
    无监督分类算法—K-Means
    Json字符串和Json对象的简单总结
    List拆分成多个集合
  • 原文地址:https://www.cnblogs.com/shenqidu/p/10479395.html
Copyright © 2011-2022 走看看