物件轉型

託帕發表於2018-08-31

物件的轉型
1.物件的向上轉型 子類轉成父類,預設進行
2.物件的向下轉型 父類轉成子類,需要強制進行

關鍵字:instanceof 測試左邊的物件是否是右邊類的例項 如果是返回true 不是返回false

 


public class Test {
	public static void main(String[] args){
		Animal a=new Cat();//物件的向上轉型
		a.sleep();
		Cat c=(Cat)a;//物件的向下轉型
		c.catchMouse();
		c.sleep();
		
		Animal b=new Cat();
		//Dog d=(Dog)b;執行報錯
		System.out.println(b instanceof Animal);
		System.out.println(b instanceof Cat);
		System.out.println(b instanceof Dog);
	}
}

class Animal{
	void sleep(){
		System.out.println("睡覺中");
	}
}
class Cat extends Animal{
	void catchMouse(){
		System.out.println("捕鼠");
	}
}
class Dog extends Animal{
	
}

相關文章