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