1. 程式人生 > >介面 和 抽象類

介面 和 抽象類

抽象類有普通方法和抽象方法,普通方法可以實現方法細節,在java中叫做可以有方法體,抽象方法卻不能有方法體。而抽象類不能例項化,除此之外跟其他類沒區別。

而介面則其內部的方法全部是抽象方法,

在java中,類只能繼承一個類,後者不管是抽象類還是普通類都可以。但是可以接多個介面。

抽象類是物的抽象,介面是動作的抽象。

一個類繼承抽象類,必須實現抽象類裡的抽象方法,一個類接了多個介面,那他必須實現接口裡的全部方法。

實際工作中介面用的比較多。

假如把動物定成一個抽象類,類中有吃和繁殖這兩個所有動物都有的抽象方法。而飛,行走,游泳,都分別定義為一個介面。比如定義一個麻雀類,則繼承動物,接飛,走這兩個介面。而定義一個青蛙類,則繼承動物,接行走,游泳這兩個介面。

在上面,一共出現了五個方法,吃,繁殖,飛,行走,游泳,都是抽象方法。就拿吃來說,所有的動物都具備這個能力,但是又有各自不同的特點,有吃素的,有吃肉的,沒什麼共性,所以只能各自種類實現各自不同的吃。

 

抽象方法的初衷可能就是強制要求類必須實現這個方法,

規範程式碼,產生約束,減少bug

 

 

https://blog.csdn.net/u012092924/article/details/78342193

 

 

http://www.cnblogs.com/dolphin0520/p/3811437.html