亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

接口與抽象類問題

有了抽象類,為什么還要接口?兩個具體區別

正在回答

2 回答

Java中類不允許多繼承,接口可以實現多繼承

0 回復 有任何疑惑可以回復我~

1、抽象類里面可以有非抽象方法,但接口里只能有抽象方法?

聲明方法的存在而不去實現它的類被叫做抽像類(abstract?class),它用于要創建一個體現某些基本行為的類,并為該類聲明方法,但不能在該類中實現該類的情況。

不能創建 abstract?類的實例,然而可以創建一個變量,其類型是一個抽像類,并讓它指向具體子類的一個實例。

不能有抽像構造函數或抽像靜態方法。abstract?類的子類為它們父類中的所有抽像方法提供實現,否則它們也是抽像類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。


2、接口(interface)是抽像類的變體。

在接口中,所有方法都是抽像的。

多繼承性可通過實現這樣的接口而獲得。

接口中的所有方法都是抽像的,沒有一個有程序體。

接口只可以定義 static?final 成員變量。

接口的實現與抽象類相似,當類實現接口時,它需要實現(即將程序體給予)所有這種接口的方法。


1 回復 有任何疑惑可以回復我~
#1

竹墨殘香煙花冷

太深奧了 畢竟我是理科生 理解能力稍微差些 可不可以 講的通俗易懂些呢
2016-06-07 回復 有任何疑惑可以回復我~
#2

聲聲慢_1 回復 竹墨殘香煙花冷

樓下米老頭0的解釋已經很通俗了,就是為了接口實現多繼承
2016-07-05 回復 有任何疑惑可以回復我~
#3

聲聲慢_1 回復 竹墨殘香煙花冷

因為一個類只能實現一次繼承關系,而接口可以多繼承
2016-07-05 回復 有任何疑惑可以回復我~
#4

聲聲慢_1 回復 竹墨殘香煙花冷

抽象類是在接口和實體類之間的一個橋梁例如做一個接口叫做飛行FlyAnimalAction,里面定義一個方法叫做flying,再定義一個方法叫做eat,做一個類叫做蚊子實現接口,蚊子要實現flying方法,實現自己的eat方法,做一個類叫做蒼蠅實現接口,蒼蠅也要實現flying方法,實現自己的eat方法
2016-07-05 回復 有任何疑惑可以回復我~
#5

聲聲慢_1 回復 聲聲慢_1

你發現所有會飛的動物都要實現這個接口,很麻煩,不如,做一個抽象類FlyAnimal,然后實現上面的接口,在里面實現flying這個方法,因為大部分的飛行動作是一樣的,而eat方法則繼續寫成抽象方法,因為大部分的動物吃東西是不一樣的,下面你再寫蚊子類就簡單了,可以直接繼承這個抽象類,然后實現自己的吃方法就行了
2016-07-05 回復 有任何疑惑可以回復我~
查看2條回復

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531144    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

接口與抽象類問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號