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

首頁 > 編程 > Java > 正文

深入理解Java中的接口

2019-11-26 14:17:09
字體:
來源:轉載
供稿:網友

一. 為什么要使用接口

假如有一個需求:要求實現防盜門的功能。門有"開"和"關"的功能,鎖有"上鎖"和"開鎖"的功能。

分析:首先防盜門是一個門,門有開門和關門的功能,還有一把鎖,鎖有開鎖和上鎖,按照面向對象的編程的思想,我們會將門和鎖都作為一個類而單獨存在,但是,不能讓防盜門繼承自門的同時又繼承自鎖,防盜門不是鎖,不符合繼承中is a的關系,在java中支持單繼承。那么我們如何來解決這一問題,這時就要用到接口。

二. 什么是接口

在軟件中接口是一種規范和標準,他們可以約束類的行為,是一些方法特征的集合,但是沒有方法的實現,接口其實上也可以看做是一個特殊的抽象類,但是采用和抽象類完全不同的方法來表示,兩者的設計理念也是不同的,抽象類有利于代碼復用,接口利于代碼的擴展和維護。

三. 抽象類和接口的區別:

01 抽象類可以提供成員方法的實現細節,而接口中只能存在public abstract 方法;

02.抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是public static final類型的;

03.接口中不能含有靜態代碼塊以及靜態方法,而抽象類可以有靜態代碼塊和靜態方法;

04.一個類只能繼承一個抽象類,而一個類卻可以實現多個接口。

四. 如何定義接口

首先先來看一下語法:

[修飾符] interface 接口名 extends 父接口1,父接口2,...

{
//常量定義
//方法定義
}

在一個類中實現接口語法:

class 類名 父類名 implements 接口1,接口2,.....
{
//類成員
}

五. 定義接口注意點

01、 接口的命名規則與類相同,如果修飾符是public ,則該接口在整個項目中可見;如果省略修飾符,則該接口只在當前包中可見。

02、接口中可以定義常量,不能定義變量,如果你在接口中定義屬性,那么通過反編譯可以看見他會自動用public static final 修飾,接口中的屬性都是全局靜態常量,接口中的常量必須在定義時指定初始值。

03、接口中所有的方法都是抽象方法,接口中方法都會自動用public abstract 修飾,即接口中只有全局抽象方法。

04、接口不能實例化,接口中不能有構造。

05、接口之間可以通過extends實現繼承關系,一個接口可以繼承多個接口,但接口不能繼承類。

06、接口的實現類必須實現接口的全部方法,否則必須定義為抽象類。

以上這篇深入理解Java中的接口就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿城市| 枝江市| 慈利县| 龙江县| 漾濞| 康平县| 米脂县| 高邮市| 方正县| 东辽县| 莆田市| 呼和浩特市| 偏关县| 安多县| 滦南县| 都江堰市| 满洲里市| 江口县| 定襄县| 闽侯县| 万年县| 惠水县| 周口市| 饶阳县| 金寨县| 喜德县| 旬邑县| 德安县| 栾川县| 桓台县| 象州县| 桑植县| 晋江市| 米泉市| 怀集县| 乐东| 崇义县| 光山县| 临沭县| 宣威市| 梁山县|