1. 程式人生 > >java裡面abstract和implement的簡單認識

java裡面abstract和implement的簡單認識

1. 簡單認識abstract和implement

概念:

在java裡面所有物件都是用來描述類的,但是不是所有的類都是用來描述類的,那麼問題來了,java的設計者為什麼需要abstract和implements,因為在java裡面存在抽象的概念。什麼是抽象概念呢,在我的理解沒有具體的概念,沒有實施的步驟。因為在我們實際開發中,我們會發現我們需要把共同的部分抽取出來,那麼abstract和implement是什麼關係呢,abstract和implement都是用來抽象的,只不過implement是abstract一種特殊形式。

用法:

abstract可以用來修飾抽象類和抽象方法·,在抽象類裡面不一定存在抽象方法,有抽象方法的類一定是抽象類,abstract修飾的類,一定只能被繼承,裡面的抽象方法需要子類來實現,implement裡面的方法一定是抽象的,裡面的成員變數一定是static,final型別的,一個類可以有多個實現,這可能是為了打破java裡面的單繼承。

例子:

舉一個什麼中的例子?

就說人吧,人應該具有這些屬性,愛好,吃飯,性別

可以看出implement和abstract都可以實現對人的進行抽象,並且這三個屬性適應於多個人群,假設如果我在加一個屬性就是t特異功能(specialAbility()方法),如果放在介面類裡面可能不太合適,因為它適應多個人群,如果放在abstract類裡面,會發現裡面java是單繼承,那麼單獨用一個抽象類來定義這個方法,進一步抽象。

分析:通過上述可以發現,我們發現interface class類是is like的含義,abstract class類是is a的含義。為什麼這麼說呢,一個人應該具有人最基本的特徵,並且符合大多數人的(所以我們使用interface),但是如果某一人具有特殊的功能我應該把它拿出來,否則就會違反

I(nterface Segregation Priciple)介面隔離原則。