Java中instanceof和isInstance的区别

Java中instanceof和isInstance的区别

转载: https://coget.cn/archives/Java%E4%B8%ADinstanceof%E5%92%8CisInstance%E7%9A%84%E5%8C%BA%E5%88%AB

instanceof 是一个操作符


// 基础关系
public static class A {
}

public static class B extends A {
}

// 使用方法
System.err.println(a instanceof A);

说明
  • 一个对象,是否是 本身父类父类接口
  • Object 都为 truenull 对象都为 false
结果
image.png

isInstance 是Class对象的方法


// 基础关系
public static class A {
}

public static class B extends A {
}

// 使用方法 (1)
System.err.println(B.class.isInstance(a));

说明

如(1):这样理解会好点,a变量 是否可以转换 B类型

  • 一个类型 是否能转换 另一个类型包含类本身父类父类接口
  • Object 都为 truenull 对象都为 false

a 不能转换为 Bb1 也不能转换为 b2

结果
image.png

ps:欢迎大家留言 🌹🌹

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容