SmartPhone類使用父類和接口的問題
在老師的例子中,SmartPhone同時繼承了父類Telephone并且實現了接口IPlayGame:
public class SmartPhone extends Telephone implements IPlayGame
當要調用父類Telephone的方法時,我們需要先聲明一個父類指向繼承的子類,如:
Telephone tel2 = new SmartPhone();
之后才能使用:
tel2.call();
tel2.message();
當要使用接口里的方法時,我們有需要重新聲明一個接口對象指向他的實現類,如
IPlayGame ip1 = new SmartPhone();
之后使用:ip1.playGame();
如果我想只聲明一次對象之后調用父類和接口的方法,是否可以做如下操作:
SmartPhone sp1 = new SmartPhone();
sp1.call();
sp1.message();
sp1.playGame();
2016-08-27
可以
用子類聲明一個對象,直接調用父類的方法,是繼承的本質功能。若父類是抽象類,方法又是抽象方法,那你在創建那個子類的時候還要在子類里補全那個方法,那個方法就徹底的被寫在子類里。子類中對父類的方法重寫也是一樣。
當你的子類實現一個接口時,接口中并沒有寫明方法的具體操作代碼,你的子類里還是要補全,變成和上面抽象父類一樣了。