我也是初學JAVA 試著闡述自己的想法
如有錯誤請大家教導 ><
基本上分為 class 和 interface
class在分為 abstract和 concrete
繼承是多型的基礎,多型是繼承的目的
1.
而class跟interface本質上就不太一樣
interface強調的是行為
class強調的是實體
2.
concrete class和 abstract class
最大差別在於能不能直接被instantiated
Animail 是一種實體 非行為 卻又不能被直接實體化
就屬於abstract class的範疇裡
Cat 是一種實體 非行為 可以被實體化
屬於concrete class的範疇
而最初的問題 "抽象跟界面比較分不出差異"
相異點: 本質,設計概念,目的 (一個是class 一個是interface 追求的目的不相同)
相同點: 都有待實作之方法
※ 引述《pttworld (批踢踢世界)》之銘言:
: ※ 引述《a07051226 (葡萄糖)》之銘言:
: : 小弟我初學JAVA,看了幾種不同版本的教學
: : 還是不太懂
: : 繼承(extends)、界面(interface)、抽象(abstract)的差異
: : 繼承是除了父類別有的功能,還可以再新增加強
: : 抽象是不實作方法
: 抽象類別可實作方法。
: 詳細請我們Java版的透"抽"版主回應吧,如果願意討論的話。
: : 界面也是不實作方法
: : 繼承我比較好理解
: : 但是抽象跟界面比較分不出差異
: : 看書上範例,也感覺不出差異...
: : 板友能不能提點一下