本文實例講述了java物件轉型的概念,分享給大家供大家參考。具體方法如下:
對象轉型(casting)注意事項如下:
1、一個基底類別的引用型別變數可以「指向」其子類別的物件。
2.一個基類的引用不可以存取其子類別物件新增加的成員(屬性和方法)。
3.可以使用引用變數instanceof 類別名稱來判斷該引用型變數所「指向」的物件是否屬於該類別或該類別的子類別。
4.子類的對象可以當做基類的對象來使用稱作向上轉型(upcasting),反之成為向下轉型(downcasting)。
具體實作程式碼如下:
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; }}
運行結果如下圖所示:
希望本文所述對大家的Java程式設計有幫助