欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解Java中的接口

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

一. 為什么要使用接口

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

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

二. 什么是接口

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

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

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

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

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

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

四. 如何定義接口

首先先來看一下語法:

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

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

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

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

五. 定義接口注意點(diǎn)

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

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

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

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

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

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

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

相關(guān)文章

最新評論