4 回答

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

TA貢獻(xiàn)112條經(jīng)驗(yàn) 獲得超42個(gè)贊
既然Phone是抽象類,那么繼承他的類就不用再用abstract了。把iphone上面的abstract去掉就可以了。

TA貢獻(xiàn)112條經(jīng)驗(yàn) 獲得超42個(gè)贊
abstract類是抽象類,不能夠?qū)嵗?,不能new出來的!可以有構(gòu)造函數(shù),其構(gòu)造函數(shù)和實(shí)體類的構(gòu)造函數(shù)沒什么區(qū)別。

TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超1個(gè)贊

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