Java中instanceof和isInstance的區(qū)別
轉(zhuǎn)載: https://coget.cn/archives/Java%E4%B8%ADinstanceof%E5%92%8CisInstance%E7%9A%84%E5%8C%BA%E5%88%AB
instanceof 是一個操作符
// 基礎(chǔ)關(guān)系
public static class A {
}
public static class B extends A {
}
// 使用方法
System.err.println(a instanceof A);
說明
- 一個對象,是否是
本身、父類或父類接口。 -
Object都為true,null對象都為false
結(jié)果

image.png
isInstance 是Class對象的方法
// 基礎(chǔ)關(guān)系
public static class A {
}
public static class B extends A {
}
// 使用方法 (1)
System.err.println(B.class.isInstance(a));
說明
如(1):這樣理解會好點,
a變量是否可以轉(zhuǎn)換B類型。
-
一個類型是否能轉(zhuǎn)換另一個類型,包含類本身、父類、父類接口 -
Object都為true,null對象都為false
a不能轉(zhuǎn)換為B,b1也不能轉(zhuǎn)換為b2
結(jié)果

image.png
ps:歡迎大家留言 ????