JAVA有個判斷用繼承關係方法instanceof 如下
以下是備份別人的
以下是抄來的
Java提供了instanceof作為判別類別間繼承關係之用,如果要判定的物件為該類別或該類別的子類別則傳回true,否則傳回false。需特別注意的是,物件與類別間要有繼承關係,否則會有compile error,如錯誤狀況1、2。
在Java裡有個特別規定,就是任何陣列都繼承Object,所以類別陣列將繼承Object和Object[],一般型別陣列則會繼承Object,但是一般型別不是物件,所以一般型別陣列不會繼承Object[]。
範例程式:
執行結果:
i1是myBase1的後代
b1不是myInstanceof的後代
null不是myBase1的後代
b2array是Object的後代
b2array是Object[]的後代
i是Object的後代
錯誤狀況1:
"myInstanceof.java": Error #: 365 : cannot compare int[] with java.lang.Object[]
錯誤狀況2:
"myInstanceof.java": Error #: 365 : cannot compare java.lang.Long with java.lang.String
沒有留言:
張貼留言