分享免费的编程资源和教程

网站首页 > 技术教程 正文

isAssignableFrom和instanceof的区别

goqiw 2024-09-14 06:52:03 技术教程 24 ℃ 0 评论

使用场景区别

1、instanceof 用来判断一个对象实例obj是否是另一个类或接口的实例。格式是:

obj instanceof ClassName  //第一个参数是实例对象,第二个参数是类名。

2、isAssignableFrom 用来判断一个类Class1是否与另一个类Class2相同,或者Class1是否是Class2的超类或接口。格式是:

Class1.isAssignableFrom(Class2);  //第一个参数是类对象,第二个参数也是类对象。

总结

instanceof 是子->父的过程;
isAssignableFrom 是父->子的过程

代码案例

package com;

public class BaseTest {

    public static void main(String[] args){
        boolean assignableFrom = Father.class.isAssignableFrom(Son.class);
        System.out.println("assignableFrom:"+ assignableFrom);
        if(new Son() instanceof Father){
            System.out.println("instaceof 测试");
        }
    }
}
class Father{

}
class Son extends Father{

}

执行结果:


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表