課程封面-JavaSE-AT阿寶哥
內(nèi)容導(dǎo)航:
- 前言
- 1啰劲、類型轉(zhuǎn)換
- 2梁沧、向上造型
- 3、向下造型
1蝇裤、類型轉(zhuǎn)換
當(dāng)存在多態(tài)環(huán)境時(shí)廷支,有時(shí)候需要類型轉(zhuǎn)換。這里將涉及到一個概念叫 強(qiáng)制類型轉(zhuǎn)換栓辜,但是記住恋拍,強(qiáng)制是有前提的,只能強(qiáng)制轉(zhuǎn)換成這個對象的運(yùn)行期類型>
例如
Animal animal=new Cat();
Cat cat=(Cat)animal;
因?yàn)閍nimal的運(yùn)行期類型確實(shí)是Cat藕甩,所以才可以強(qiáng)制轉(zhuǎn)換成Cat
如果 Dog dog=(Dog)animal;
將發(fā)生ClassCastException施敢。
2、向上造型
向上造型,又稱自動類型提升僵娃,它能提高程序的擴(kuò)展性羡藐。
示例代碼:
class Animal{
abstract void eat();
}
class Cat extends Animal{
void look() {
System.out.println("看家");
}
}
………
Animal x=new Cat() //向上造型,Cat對象提升到Animal對象
x.eat() //只能使用父類中的方法
x.look() //報(bào)錯悯许!不能使用子類中的方法
3仆嗦、向下造型
向下造型,又稱向下轉(zhuǎn)型先壕。它能讓我們使用子類中的特有方法瘩扼。
示例代碼:
class Animal{
abstract void eat();
}
class Cat extendsAnimal{
void look() {
System.out.println("看家");
}
}
Animal x=new Cat()
Cat m=(Cat)x; //向下轉(zhuǎn)型
m.eat() ;
m.look();//子父類中的方法都可以使用
持續(xù)更新,歡迎留言提議垃僚!
碼字很累集绰,多點(diǎn)贊多贊賞!
掃描二維碼谆棺,關(guān)注AT阿寶哥