java對象轉(zhuǎn)型實(shí)例分析
本文實(shí)例講述了java對象轉(zhuǎn)型的概念,分享給大家供大家參考。具體方法如下:
對象轉(zhuǎn)型(casting)注意事項(xiàng)如下:
1、一個基類的引用類型變量可以“指向”其子類的對象。
2、一個基類的引用不可以訪問其子類對象新增加的成員(屬性和方法)。
3、可以使用 引用變量 instanceof 類名 來判斷該引用型變量所“指向”的對象是否屬于該類或該類的子類。
4、子類的對象可以當(dāng)做基類的對象來使用稱作向上轉(zhuǎn)型(upcasting),反之成為向下轉(zhuǎn)型(downcasting)。
具體實(shí)現(xiàn)代碼如下:
public class TestCasting{ public static void main(String args[]){ Animal animal = new Animal("name"); Cat cat = new Cat("catName","blueColor"); Dog dog = new Dog("dogName","yellowColor"); System.out.println(animal instanceof Animal); System.out.println(cat instanceof Animal); System.out.println(dog instanceof Animal); //System.out.println(animal instanceof cat); //error animal = new Dog("dogAnimal","dogColor"); System.out.println(animal.name); //System.out.println(animal.forColor); //error System.out.println(animal instanceof Animal); System.out.println(animal instanceof Dog); Dog d1 = (Dog)animal; System.out.println(d1.forColor); } } class Animal{ public String name; public Animal(String name){ this.name = name; } } class Cat extends Animal{ public String eyeColor; public Cat(String name, String eyeColor){ super(name); this.eyeColor = eyeColor; } } class Dog extends Animal{ public String forColor; public Dog(String name, String forColor){ super(name); this.forColor = forColor; } }
運(yùn)行結(jié)果如下圖所示:
希望本文所述對大家的Java程序設(shè)計(jì)有所幫助
相關(guān)文章
Java如何替換RequestBody和RequestParam參數(shù)的屬性
近期由于接手的老項(xiàng)目中存在所有接口中新增一個加密串來給接口做一個加密效果,所以就研究了一下Http請求鏈路,發(fā)現(xiàn)可以通過?javax.servlet.Filter去實(shí)現(xiàn),這篇文章主要介紹了Java替換RequestBody和RequestParam參數(shù)的屬性,需要的朋友可以參考下2023-10-10MyBatis Plus之實(shí)現(xiàn)動態(tài)排序方式
這篇文章主要介紹了MyBatis Plus之實(shí)現(xiàn)動態(tài)排序方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02Spring AOP 實(shí)現(xiàn)自定義注解的示例
這篇文章主要介紹了Spring AOP 實(shí)現(xiàn)自定義注解的示例,幫助大家更好的理解和學(xué)習(xí)使用spring框架,感興趣的朋友可以了解下2021-03-03MyBatis中傳入?yún)?shù)parameterType類型詳解
這篇文章主要給大家介紹了關(guān)于MyBatis中傳入?yún)?shù)parameterType類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2018-04-04如果淘寶的七天自動確認(rèn)收貨讓你設(shè)計(jì)你用Java怎么實(shí)現(xiàn)
在面試的時(shí)候如果面試官問淘寶的七天自動確認(rèn)收貨讓你設(shè)計(jì),你會怎么具體實(shí)現(xiàn)呢?跟著小編看一下下邊的實(shí)現(xiàn)過程,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09