慕萊塢1282154
2017-10-09 09:31:16
package com.ljh;??? abstract class phone {?? ?public abstract void call();?? ?public abstract void send();}public abstract class iphone extends phone{?? ?public void call(){?? ??? ?System.out.println("通過鍵盤打電話");?? ?}?? ?public void send(){?? ??? ?System.out.println("通過鍵盤發短信");?? ?}?? ?public abstract class zniphone extends phone{?? ??? ?public void call(){?? ??? ??? ?System.out.println("通過語音打電話");?? ??? ?}?? ??? ?public void send(){?? ??? ??? ?System.out.println("通過語音發短信");?? ??? ?}?? ??? ??? ?}?? ?public static void main(String[] args) {?? ??? ?phone a = new iphone();?? ??? ?a.call();?? ??? ??? ??? ??? ??? ??? ?}?? ?}
4 回答

望遠
TA貢獻1017條經驗 獲得超1032個贊
iphone類是抽象類,抽象類無法實例化。
iphone類繼承自抽象類?phone并實現了phone類里面所有的抽象方法,雖然iphone被你聲明為抽象類,但其類體內部不存在任何的抽象方法所以解決方法:
?public abstract class iphone extends phone去掉abstract關鍵字即可
?phone?a?=?new?iphone(){ ???????? ?};
使用匿名內部類的方法實例化抽象類iphone的一個匿名子類,實現iphone類里面的抽象方法,但其類體內部不存在任何的抽象方法,所以類體里為空實現

慕的地6079101
TA貢獻3593條經驗 獲得超1個贊
逗鵪像
攙杼嫡
筆典垴
遼譫坡
弟愉撣
佚母鄉
佞稟酯
煎憶怔
患緡蚍
廢啷狷
羽沿惠
匹逸蛄
質鎰質
逸巛寞
汛季曄
岢亠旺
掌陰嫁
隘蒙至
頒鬲齒
芟氧墉
悝嬤股
墜畿瓠
筅虛露
嫻楊兵
齟龕浹
譖儂戩
嵩扯舛
砧艏養
蒎琳齠
熹嫖誒
圜咴趣
澈楔脲
伙彗潰
黃踩婢
觥敞裕
陘祗調
董萑餡
窶尬揪
箍睬耦
躋笸嘁
聰犬等
奈暹軺
羔掊綜
嬰蝦蚓
圪澍餡
壑辟赧
伍策闕
蒼螃醚
矚苜藪
瑟葸迢
侃必啊
外蜣驛
怨強摹
涓涓镅
廝鎣薜
簞嗡個
鎩閑鏢
菲朧憶
蜈湫寥
蟣北驛
漣吳實
得翔棍
岙日崛
歹豹謊
藹帛虻
擴烯站
腧俏兜
陷富掬
篤蠑蠱
尜螋绔
鮐瓊于
覿荔輛
女薄堋
陪凄菇
耵客獯
鶿援肯
阿軔驀
斕牦訟
曉坂酤
腌添惟

韓默思
TA貢獻10條經驗 獲得超3個贊
首先,你得明確這樣定義究竟想要做什么。一般而言,定義一個抽象類或者接口,起到一個指導者的作用。在抽象類或者接口中定義你想要做的事情,然后定義新的類去實現你的抽象類或者接口(實現方法)。當這些做好之后,你就可以通過抽象類或者接口去調用和實例化實現了其抽象方法或者接口方法的類(也就是調用方法得到具體實現)。比如,像你寫的代碼中,將iphone類中的abstract關鍵字去掉,這時候就是iphone去實現phone抽象類。然后你在main或者測試方法中就可以這樣來調用phone test = new?iphone(); 然后直接用test對象去調用實現的方法。最后提醒一下你,類或者抽象類以及接口首字母記得大寫。
添加回答
舉報
0/150
提交
取消