您好,登錄后才能下訂單哦!
這篇“Java中如何使用instanceof關鍵字”文章,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要參考一下,對于“Java中如何使用instanceof關鍵字”,小編整理了以下知識點,請大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進入主題吧。
應用多態性時由于引用為父類類型,導致編譯時只能調用父類中聲明的屬性和方法。子類特有的屬性和方法不能調用。因此可將父類引用強制轉換為子類引用,則可調用子類特有方法。
class Animal { public void shout() { System.out.println("Animal is shouting "); } } class Dog extends Animal { public void shout() { System.out.println("汪 汪 汪"); } public void skill() { System.out.println("Dog can guard home"); } } class Cat extends Animal { public void shout() { System.out.println("喵 喵 喵"); } } public static void main(String [] args) { Animal animalD =new Dog(); // animalD.skill() 報錯,因為Animal類無skill方法 Dog dog=(Dog)animalD; dog.skill(); //輸出 Dog can guard home }
a instanceof A : 判斷對象a是否是類A的實例。如果是,返回true;否則返回false。
public static void main(String [] args) { Animal animalD =new Dog(); if(animalD instanceof Dog) { System.out.println("true");//輸出true } }
編譯通過,運行不通過
Animal animal=new Dog(); Cat cat=(Cat)animal // 因為Cat和Dog無子父類關系 Animal animal=new Animal(); Dog dog=(Dog)animal; //animal必須指向Dog類或Dog類子類
編譯不通過
Dog dog=new Cat(); //直接不符合多態性定義
編譯通過,運行通過
Object object=new Dog(); Animal animal=(Animal)object
子類賦值給直接父類引用(多態),然后直接父類引用再強制轉換成子類子類賦值給間接父類引用(多態),然后間接父類引用可以強制轉換成子類或者子類的父類
以上是“Java中如何使用instanceof關鍵字”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。