国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java 接口和抽象類的區別

2019-11-14 22:58:57
字體:
來源:轉載
供稿:網友
java 接口和抽象類的區別

Abstract class

Interface

實例化

不能

不能

一種繼承關系,一個類只能使用一次繼承關系。可以通過繼承多個接口實現多重繼承

一個類可以實現多個interface

數據成員

可有自己的

靜態的不能被修改即必須是static final,一般不在此定義

方法

可以私有的,非abstract方法,必須實現

不可有私有的,默認是public,abstract類型

變量

可有私有的,默認是friendly型,其值可以在子類中重新定義,也可以重新賦值

不可有私有的,默認是public static final型,且必須給其初值,實現類中不能重新定義,不能改變其值。

設計理念

表示的是“is-a”關系

表示的是“like-a”關系

實現

需要繼承,要用extends

要用implements

什么情況下使用接口

  A. 類與類之前需要特定的接口進行協調,而不在乎其如何實現。

  B. 作為能夠實現特定功能的標識存在,也可以是什么接口方法都沒有的純粹標識。

  C. 需要將一組類視為單一的類,而調用者只通過接口來與這組類發生聯系。

  D. 需要實現特定的多項功能,而這些功能之間可能完全沒有任何聯系。

什么情況下使用抽象類

  一句話,在既需要統一的接口,又需要實例變量或缺省的方法的情況下,就可以使用它。最常見的有:

  A. 定義了一組接口,但又不想強迫每個實現類都必須實現所有的接口。可以用abstract class定義一組方法體,甚至可以是空方法體,然后由子類選擇自己所感興趣的方法來覆蓋。

  B. 某些場合下,只靠純粹的接口不能滿足類與類之間的協調,還必需類中表示狀態的變量來區別不同的關系。abstract的中介作用可以很好地滿足這一點。

  C. 規范了一組相互協調的方法,其中一些方法是共同的,與狀態無關的,可以共享的,無需子類分別實現;而另一些方法卻需要各個子類根據自己特定的狀態來實現特定的功能。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南丰县| 湟中县| 徐水县| 丰县| 岳阳县| 望都县| 区。| 嘉禾县| 广东省| 兰西县| 柏乡县| 疏附县| 富顺县| 武隆县| 郯城县| 友谊县| 巩留县| 仙居县| 贵阳市| 偃师市| 庆阳市| 濮阳县| 罗田县| 县级市| 新野县| 崇仁县| 和龙市| 铜山县| 西丰县| 扬中市| 阜新| 那曲县| 思南县| 霸州市| 岳阳县| 泾源县| 洛川县| 平和县| 和龙市| 齐河县| 黄骅市|