instanceof 運算子作用
instanceof 用法
boolean result = object instanceof class
引數:result:布林型別。
object:任意物件表示式。
class:任意已定義的物件類。
如果 object 是 class 的乙個例項,則返回 true。如果 object 不是指定類的乙個例項,或者 object 是 null,則返回 false。
instanceof 測試
class person
class student extends person
class postgraduate extends student
class animal
public
class
instanceoftester
public
static
void
instanceoftest(final person p) else
if (p instanceof student) else
if (p instanceof person) else
if (p instanceof object)
// if(p instanceof animal)
// }
}}
這個程式的輸出結果是:p是類student的例項
person類所在的繼承樹是:object<–person<–student<–postgraduate。
這個例子中還加入乙個animal類,它不是在person類的繼承樹中,所以不能作為instanceof的右運算元。
java中的instanceof用法
乙個類的物件可以轉換成繼承鏈中的另乙個類的物件。在進行物件轉換時必須注意 1 乙個子類物件的型別可以向上轉換,即乙個子類可以轉換成它的父類。這種轉換是安全的,因為子類中含有父類的資訊,子類是父類的乙個超集。轉換的結果是丟失子類中新定義的資訊。2 乙個父類物件的型別一般來說是不可以向下轉換成它的子類,...
Java中介面 多型 instanceof
一 介面 1,概述 介面是特殊的抽象類,所有的屬性都是公開靜態常量 全域性常量 所有的方法都是公開抽象方法而且沒有構造方法。2,思想 特點 介面是對外暴露的規則 介面是程式的功能擴充套件 介面的出現降低耦合性 介面可以用來多實現 類與介面之間是實現關係,而且類可以繼承乙個類的同時實現多個介面。介面與...
java中的instanceof判斷
有的朋友遇到if判斷中的instanceof不知道什麼意思 eg 問題 public class shout class student extends shout class sample 答案 a instanceof b a是乙個物件 使用new例項的物件 b是乙個類 不是方法名 他表示a這個...