日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

接口总结

發(fā)布時(shí)間:2023/12/20 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接口总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.接口定義:

Java接口是一系列方法的聲明,是一些抽象的集合。

②一個(gè)接口只有抽象方法沒(méi)有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為(功能)。

③簡(jiǎn)單地說(shuō),接口就是特殊的抽象類,即所有方法都是抽象方法的抽象類就是Java中的接口(interface)。

2.接口的基本格式

[修飾符] interface 接口名 [extends 父接口名列表]{

[public] [static] [final] 常量;

[public] [abstract] 方法;

}

①修飾符:可選,用于指定接口的訪問(wèn)權(quán)限,可選值為public。即使省略,也依然是public

②接口名:必選參數(shù),用于指定接口的名稱,接口名必須是合法的Java標(biāo)識(shí)符。一般情況下,要求首字母大寫。

extends 父接口名列表:可選參數(shù),用于指定要定義的接口繼承于哪個(gè)父接口。當(dāng)使用extends關(guān)鍵字時(shí),父接口名為必選參數(shù)。父接口可以存在多個(gè),用逗號(hào)隔開。

④方法:接口中的方法只有定義而沒(méi)有被實(shí)現(xiàn)。

3.接口的特點(diǎn):

①接口是一種特殊的抽象類。

②接口中沒(méi)有變量,只能有public static final修飾的靜態(tài)常量。三個(gè)修飾符可以省略。

③接口中所有方法都是抽象方法,且默認(rèn)就是public權(quán)限。 ???比較的是內(nèi)存中的虛地址。

???public interface Flyer {

public static final int TYPE=1;

public abstract void fly();

public abstract void land();

public abstract void takeoff();

}

4.類實(shí)現(xiàn)接口的特點(diǎn):

①類實(shí)現(xiàn)接口,本質(zhì)上與類繼承類相似,區(qū)別在于“類最多只能繼承一個(gè)類,即單繼承,而一個(gè)類卻可以同時(shí)實(shí)現(xiàn)多個(gè)接口”,多個(gè)接口用逗號(hào)隔開即可。實(shí)現(xiàn)類需要覆蓋所有接口中的所有抽象方法,否則該類也必須聲明為抽象類。

②接口是抽象的,接口中沒(méi)有任何具體方法和變量,所以接口不能進(jìn)行實(shí)例化。接口定義的是多個(gè)類都要實(shí)現(xiàn)的操作,即“what to do”。類可以實(shí)現(xiàn)接口,從而覆蓋接口中的方法,實(shí)現(xiàn)“how to do”。

5.實(shí)現(xiàn)接口的基本格式:

[修飾符] class <類名> [extends 父類名] [implements 接口列表]{

}

①修飾符:可選參數(shù),用于指定類的訪問(wèn)權(quán)限,可選值為publicabstractfinal

②類名:必選參數(shù),用于指定類的名稱,類名必須是合法的Java標(biāo)識(shí)符。一般情況下,要求首字母大寫。

extends 父類名:可選參數(shù),用于指定要定義的類繼承于哪個(gè)父類。當(dāng)使用extends關(guān)鍵字時(shí),父類名為必選參數(shù)。

implements 接口列表:可選參數(shù),用于指定該類實(shí)現(xiàn)的是哪些接口。當(dāng)使用implements關(guān)鍵字時(shí),接口列表為必選參數(shù)。當(dāng)接口列表中存在多個(gè)接口名時(shí),各個(gè)接口名之間使用逗號(hào)分隔。

6.接口繼承接口:

Java接口繼承接口的原則:Java接口可以繼承多個(gè)接口;接口繼承接口依然使用關(guān)鍵字extends,不要錯(cuò)用成implements

Java接口繼承接口的形式:

Interface3 extends Interface0, Interface1, interface……

7.接口繼承與類繼承:

①接口繼承與類繼承對(duì)比:Java類的繼承是單一繼承,Java接口的繼承是多重繼承。

②接口可實(shí)現(xiàn)多繼承原因分析:

不允許類多重繼承的主要原因是,如果A同時(shí)繼承BC,而BC同時(shí)有一個(gè)D方法,A無(wú)法確定該繼承那一個(gè)。

接口全都是抽象方法繼承誰(shuí)都可以,所以接口可繼承多個(gè)接口

8.接口與抽象類區(qū)別:

①對(duì)比圖表:

?

Abstract class

interface

屬性

不用限制

靜態(tài)常量

構(gòu)造方法

可有可無(wú)

沒(méi)有

普通方法

可以有具體方法

必須是抽象方法

子類

單一繼承

多重實(shí)現(xiàn)

?

②區(qū)別總結(jié):

abstract class Java 語(yǔ)言中表示的是一種繼承關(guān)系,一個(gè)類只能使用一次繼承關(guān)系。但是,一個(gè)類卻可以實(shí)現(xiàn)多個(gè)interface.

abstract class 中可以有自己的數(shù)據(jù)成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態(tài)的不能被修改的數(shù)據(jù)成員(也就是必須是 static final的,不過(guò)在 interface中一般不定義數(shù)據(jù)成員),所有的成員方法都是abstract的。

實(shí)現(xiàn)抽象類和接口的類必須實(shí)現(xiàn)其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實(shí)現(xiàn)方法。

接口中定義的變量默認(rèn)是public static final 型,且必須給其初值,所以實(shí)現(xiàn)類中不能重新定義,也不能改變其值。

接口中的方法默認(rèn)都是 publicabstract 類型的。

9.接口的作用:

接口是設(shè)計(jì)層面的概念,往往由設(shè)計(jì)師設(shè)計(jì),將定義與實(shí)現(xiàn)分離。

10.面向接口編程:

①面向接口編程和面向?qū)ο缶幊滩⒉皇瞧郊?jí)的,它并不是比面向?qū)ο缶幊谈冗M(jìn)的一種獨(dú)立的編程思想,而是附屬于面向?qū)ο笏枷塍w系,屬于其一部分。它是面向?qū)ο缶幊腆w系中的思想精髓之一。

②面向接口編程的意思是指在面向?qū)ο蟮南到y(tǒng)中所有的類或者模塊之間的交互是由接口完成的。

11.Comparable接口:

Comparable接口中定義了比較方法,compareTo,返回值為int

②當(dāng)int值為正數(shù),表示大于;為負(fù)數(shù),表示小于;為0,表示等于。

轉(zhuǎn)載于:https://www.cnblogs.com/y-zz/p/7593501.html

總結(jié)

以上是生活随笔為你收集整理的接口总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。