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
    
        }
    
    }
  • 相关阅读:
    deferred 对象
    JVM--------3
    JVM类加载机制————2
    JVM加载的初始化类
    补充==的使用和equals的区别
    MyBatis_SelectKey使用oracle 序列插入主键
    MySql_ procedure
    mysql function
    jsonp _____跨域请求实现
    shell(shell变量、条件表达式、流程控制)
  • 原文地址:https://www.cnblogs.com/shenqidu/p/10479395.html
Copyright © 2011-2022 走看看