java基礎(chǔ)(接口)

1.接口的基本概念

  • 抽象方法和常量值得集合。從本質(zhì)上講,接口是一種特殊的抽象類。
  • 格式:
[public] interface 接口名 [extends superinterfaceList]
{
    //定義常量和方法
}

2.接口的知識(shí)點(diǎn)

  • 接口中的屬性成員必須是public static final 類型的,方法成員必須是public abstract類型的(抽象方法)。定義時(shí)可以部分省略或全部省略,默認(rèn)為上述的類型。

  • 一個(gè)類不能繼承接口,只能實(shí)現(xiàn)接口(使用implements關(guān)鍵字)。類繼承類,接口繼承接口。

  • 接口允許多繼承。

  • 接口中定義的屬性成員的值不能在實(shí)現(xiàn)類中更改。(屬性成員為final類型不允許更改)

  • 如果實(shí)現(xiàn)類只實(shí)現(xiàn)了接口的部分方法,則該類必須聲明為abstract類型。

interface A 
{
    public static final int i = 1;
    public abstract void f();
    int j = 2;    //默認(rèn)為public static final類型
    void g();    //默認(rèn)為public abstract類型
}

abstract class B implements A   //如果不重寫(xiě)接口的所有抽象方法必須聲明為abstract類型
{
    
}
  • 一個(gè)類可以繼承一個(gè)父類的同時(shí)實(shí)現(xiàn)多個(gè)接口,但extends須放在implements前面。
interface A 
{   
}

interface B 
{   
}

class C 
{   
}

class D extends C implements A, B
{
    
}
  • 接口不能實(shí)例化,但能定義一個(gè)接口引用類型的變量,并將其指向?qū)崿F(xiàn)接口的對(duì)象,達(dá)到多態(tài)的目的。
interface A 
{
    void f();
}

class B implements A 
{
    public void f() //必須加public,f()是public類型,重寫(xiě)類型必須相同
    {
        System.out.println("嘿嘿");
    }
    void g()
    {
        System.out.println("哈哈");
    }
}


class Test
{
    public static void main(String[] args)
    {
        A a1;
        //A a2 = new A();  //error 接口不能實(shí)例化
        a1 = new B();
        
        a1.f();
        //a1.g();   //error 不能調(diào)用子類獨(dú)有的方法
    }
}

3.接口的作用

  • 通過(guò)接口可以實(shí)現(xiàn)不相關(guān)類的相同行為。
    如:java規(guī)定所有可以完成自我復(fù)制功能的類都必須實(shí)現(xiàn)java.lang.Colneable接口,但該接口是空的,該接口沒(méi)有內(nèi)容,只是起個(gè)標(biāo)志作用。
  • 接口提供了不同對(duì)象進(jìn)行協(xié)作的平臺(tái)。
    如:事件處理。
  • 接口可以實(shí)現(xiàn)多繼承,在一定程度上彌補(bǔ)了類只能單繼承的缺陷。
  • 接口是我們了解一個(gè)類功能的重要途徑。
    如:java整個(gè)容器框架就是以接口的方式建立起來(lái)的,實(shí)現(xiàn)不同接口的類完成的是不同的功能,接口是我們了解一個(gè)類的功能重要途徑。

4.接口與抽象類的區(qū)別

  • 接口中的方法一定是抽象方法,抽象類中的方法可以不是抽象方法。
  • 類不允許多繼承,接口允許多繼承。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 蓮就是這樣淡淡的寧?kù)o 幽幽的生香 每一朵都是慈悲的安詳 哪怕落了紅顏 依然默默依然相護(hù) 總在行走中遇見(jiàn)最好的 過(guò)往
    淡淡青蓮閱讀 525評(píng)論 1 6
  • 機(jī)場(chǎng)大廳 熱鬧喧嘩 人如潮水 匆匆步伐 這里取了行李尋迎賓 那邊辦了登機(jī)等出發(fā) 我又要飛啦 空姐列隊(duì)亮麗婀娜 我已...
    珠江潮平閱讀 2,931評(píng)論 45 57
  • 替換原brew源 重置brew.git:
    嘿喵heyMeow閱讀 468評(píng)論 0 0
  • 今天,有點(diǎn)煩躁。 莫名其妙,不知所以,更沒(méi)得征兆。好吧,我承認(rèn)自己是一個(gè)情緒管理的失敗者,總也是不能很好的控制自己...
    時(shí)慧慧愛(ài)物閱讀 306評(píng)論 1 2

友情鏈接更多精彩內(nèi)容