抽象類是用abstract修飾的類,在抽象類中可以擁有抽象方法和普通方法,也可以只有普通方法但是沒有意義.
當我們抽取事物的共性組成父類時,如果在父類中並不能夠具體的實現某個方法時.可以將這個方法定義為抽象方法,這個類為抽象類.
介面是用inte***ce修飾的, 用來擴充具體類的功能.
1.成員不同:
構造方法:
介面中沒有構造方法,抽象類有構造方法但是不能直接建立物件
成員方法:
介面中成員方法預設新增 public abstract 修飾,只能存在抽象方法;
抽象類中既有抽象方法也有普通方法
成員變數:
介面中的成員變數預設新增static final 修飾,只有公開靜態常量.
抽象類中的變數沒有這個限制
2.關係不同:
類與類之間的關係是繼承:extends;
介面與介面之間的關係是繼承:extends;
類與介面之間的關係是實現:implements;子類稱為子實現類
3.設計思想不同:
抽象類是讓子類繼承的,體現的是一種"is a"的理念,並且子類只能繼承乙個父類;
是為了子類擴充功能,體現的是"like a"的理念,乙個子實現類可以同時實現多個介面 .
1.都可以擁有抽象方法;
2.都不可以直接建立物件;
3.都依靠於子類存在才有意義,子類必須實現其所有的抽象方法
4.都可以實現多型
類 抽象類 介面的區別
類和抽象類 不同點 抽象類不能例項化,只能被繼承 抽象類可以定義抽象方法 相同點 抽象類和一般類都是用來描述事物的,都在內部定了成員。介面和抽象類 不同點 介面是對動作的抽象,抽象類是對根源的抽象 抽象類表示的是這個物件是什麼,介面表示的是這個物件能做什麼 介面更多的是在系統架構設計方法發揮作用,主...
java抽象類與介面的區別抽象類與介面的特性是什麼
介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...
抽象類和介面的區別
要結合來使用,從而互補長短。接下來先說說抽象類和介面的區別。區別一,兩者表達的概念不一樣。抽象類是一類事物的高度聚合,那麼對於繼承抽象類的子類來說,對於抽象類來說,屬於 是 的關係 而介面是定義行為規範,因此對於實現介面的子類來說,相對於介面來說,是 行為需要按照介面來完成 這些聽起來有些虛,舉個例...