新手求解?
聽(tīng)懂是聽(tīng)懂了,但是不懂這么做有什么意義?
Animal a=new Animal();
這是正常的創(chuàng)建主類(lèi)對(duì)象。
Animal b=new Dog();
這是指主類(lèi)b對(duì)象指向了Dog子類(lèi)。
而且b是不能引用Dog子類(lèi)中的獨(dú)有方法的,那么這樣做有什么特殊意義嗎?
聽(tīng)懂是聽(tīng)懂了,但是不懂這么做有什么意義?
Animal a=new Animal();
這是正常的創(chuàng)建主類(lèi)對(duì)象。
Animal b=new Dog();
這是指主類(lèi)b對(duì)象指向了Dog子類(lèi)。
而且b是不能引用Dog子類(lèi)中的獨(dú)有方法的,那么這樣做有什么特殊意義嗎?
舉報(bào)
2018-10-18
我也是新手,按照我看的《java編程思想》上解釋?zhuān)椒ǚ譃殪o態(tài)綁定和動(dòng)態(tài)綁定,java中除了final,static修飾的方法都是動(dòng)態(tài)綁定,使用多態(tài)可以使你只操作基類(lèi),更加方便。
打一個(gè)不太恰當(dāng)?shù)谋确?,?dòng)物都能吃東西,但吃的不同,不用多態(tài),每個(gè)動(dòng)物都要寫(xiě)一個(gè)eat方法,而且要記住每個(gè)新對(duì)象的類(lèi),使用多態(tài),在基類(lèi)調(diào)用eat方法,自動(dòng)綁定到子類(lèi)eat方法,只操作基態(tài),在對(duì)象繁多時(shí)好處明顯。
若有不對(duì),請(qǐng)大神們指正,我也剛學(xué)。。。。