比如我現在又兩個具有繼承關系的類:
父類:Animal
子類:Dog
在父類中有一個方法eat()
在子類中,除了繼承了父類的eat()方法外,我自己還寫了一個eat()的重載方法:eat(String a)
然後創建對象:
Animal a = new Dog();
為什麼在創建對象a後,調用eat方法時,不能調用eat(String a)方法,而只能調用eat()方法?
我是初學者,我說說自己的理解哈。一個是eat(),一個是eat(String a)。參數類型不一樣,也就是沒有覆蓋。那麼,animal a = new dog();已經向上轉型了,dog已經是animal,所以運行的也應該是animal裡面的方法,而不是dog裡面的方法。但是如果另一種情況dog裡面的方法也是eat()的話,那就方法覆蓋了,這個時候就會運行dog裡面的eat了。我說的好像不是很清楚。。。。。。