1. 程式人生 > >Java中instanceof和isInstance區別

Java中instanceof和isInstance區別

instanceof:

obj.instanceof(class)

判斷這個物件是不是這種型別,

1.一個物件是本身類的一個物件

2.一個物件是本身類父類(父類的父類)和介面(介面的介面)的一個物件

3.所有物件都是Object

4.凡是null有關的都是false  null.instanceof(class)

isInstance:

class.inInstance(obj)

判斷物件能不能被轉化為這個類

1.一個物件是本身類的一個物件

2.一個物件能被轉化為本身類所繼承類(父類的父類等)和實現的介面(介面的父介面)強轉

3.所有物件都能被Object的強轉

4.凡是null有關的都是false   class.inInstance(null)

類名.class和物件.getClass()幾乎沒有區別,因為一個類被類載入器載入後,就是唯一的一個類。