最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解Java中的接口

 更新時間:2016年05月26日 17:00:13   投稿:jingxian  
下面小編就為大家?guī)硪黄钊肜斫釰ava中的接口。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一. 為什么要使用接口

假如有一個需求:要求實現(xiàn)防盜門的功能。門有"開"和"關(guān)"的功能,鎖有"上鎖"和"開鎖"的功能。

分析:首先防盜門是一個門,門有開門和關(guān)門的功能,還有一把鎖,鎖有開鎖和上鎖,按照面向?qū)ο蟮木幊痰乃枷?,我們會將門和鎖都作為一個類而單獨存在,但是,不能讓防盜門繼承自門的同時又繼承自鎖,防盜門不是鎖,不符合繼承中is a的關(guān)系,在java中支持單繼承。那么我們?nèi)绾蝸斫鉀Q這一問題,這時就要用到接口。

二. 什么是接口

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

三. 抽象類和接口的區(qū)別:

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

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

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

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

四. 如何定義接口

首先先來看一下語法:

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

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

在一個類中實現(xiàn)接口語法:

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

五. 定義接口注意點

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

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

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

04、接口不能實例化,接口中不能有構(gòu)造。

05、接口之間可以通過extends實現(xiàn)繼承關(guān)系,一個接口可以繼承多個接口,但接口不能繼承類。

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

以上這篇深入理解Java中的接口就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis-plus多數(shù)據(jù)源配置的兩種方式總結(jié)

    Mybatis-plus多數(shù)據(jù)源配置的兩種方式總結(jié)

    這篇文章主要為大家詳細介紹了Mybatis-plus中多數(shù)據(jù)源配置的兩種方式,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-10-10
  • IDEA性能優(yōu)化設(shè)置(解決卡頓問題)

    IDEA性能優(yōu)化設(shè)置(解決卡頓問題)

    在我們?nèi)粘J褂肐DEA進行開發(fā)時,可能會遇到許多卡頓的瞬間,本文主要介紹了IDEA性能優(yōu)化設(shè)置,非常具有實用價值,需要的朋友可以參考下
    2023-05-05
  • Java中static變量作用和用法詳解

    Java中static變量作用和用法詳解

    Java 中被 static 修飾的成員稱為靜態(tài)成員或類成員。它屬于整個類所有,而不是某個對象所有,即被類的所有對象所共享。靜態(tài)成員可以使用類名直接訪問,也可以使用對象名進行訪問.下面我們來詳細了解一下吧
    2019-06-06
  • spring boot 的常用注解使用小結(jié)

    spring boot 的常用注解使用小結(jié)

    這篇文章主要介紹了spring boot 的常用注解使用小結(jié),需要的朋友可以參考下
    2017-05-05
  • java關(guān)鍵字static的使用詳解

    java關(guān)鍵字static的使用詳解

    這篇文章主要介紹了java關(guān)鍵字static的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java Socket實現(xiàn)聊天室附1500行源代碼

    Java Socket實現(xiàn)聊天室附1500行源代碼

    Socket是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。本篇文章手把手帶你通過Java Socket來實現(xiàn)自己的聊天室,大家可以在過程中查缺補漏,溫故而知新
    2021-10-10
  • apllo開源分布式配置中心詳解

    apllo開源分布式配置中心詳解

    這篇文章主要為大家介紹了apllo開源分布式配置中心部署詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 關(guān)于mybatis調(diào)用存儲過程獲取返回值問題

    關(guān)于mybatis調(diào)用存儲過程獲取返回值問題

    這篇文章主要介紹了mybatis調(diào)用存儲過程獲取返回值問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • MybatisPlus查詢條件空字符串和NULL問題背景分析

    MybatisPlus查詢條件空字符串和NULL問題背景分析

    文章詳細分析了MybatisPlus在處理查詢條件時,空字符串和NULL值的問題,MP 3.3.0及以上版本提供了多種解決方法,包括在Bean屬性上使用注解、全局配置等,推薦使用全局配置的方式來解決這個問題,以避免在SQL查詢中出現(xiàn)不必要的空字符串條件,感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • Java語言實現(xiàn)掃雷游戲(1)

    Java語言實現(xiàn)掃雷游戲(1)

    這篇文章主要為大家詳細介紹了Java語言實現(xiàn)的掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04

最新評論

新乡市| 建宁县| 富裕县| 茶陵县| 安达市| 定西市| 咸阳市| 上栗县| 黔西县| 喀喇沁旗| 大连市| 扶沟县| 内丘县| 四会市| 高唐县| 驻马店市| 恭城| 怀来县| 深圳市| 龙泉市| 沂源县| 杭锦旗| 买车| 连州市| 南涧| 安化县| 双峰县| 夏邑县| 和龙市| 南雄市| 凤阳县| 巴里| 蒲江县| 昆明市| 延津县| 秭归县| 潞城市| 隆德县| 内黄县| 高雄县| 潜山县|