中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

java中interface如何使用-創(chuàng)新互聯(lián)

這篇文章給大家介紹java中interface如何使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供寶山企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、H5建站、小程序制作等業(yè)務(wù)。10年已為寶山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

1、接口:一種把類抽象的更徹底,接口里只能包含抽象方法的“特殊類”。接口不關(guān)心類的內(nèi)部狀態(tài)數(shù)據(jù),定義的是一批類所遵守的規(guī)范。(它只規(guī)定這批類里必須提供某些方法,提供這些方法就可以滿足實(shí)際要求)。

在JAVA編程語言中是一個抽象類型,是抽象方法的集合,接口通常以interface來聲明。一個類通過繼承接口的方式,從而來繼承接口的抽象方法。

接口并不是類,編寫接口的方式和類很相似,但是它們屬于不同的概念。類描述對象的屬性和方法。接口則包含類要實(shí)現(xiàn)的方法。

除非實(shí)現(xiàn)接口的類是抽象類,否則該類要定義接口中的所有方法。

接口無法被實(shí)例化,但是可以被實(shí)現(xiàn)。一個實(shí)現(xiàn)接口的類,必須實(shí)現(xiàn)接口內(nèi)所描述的所有方法,否則就必須聲明為抽象類。另外,在Java中,接口類型可用來聲明一個變量,他們可以成為一個空指針,或是被綁定在一個以此接口實(shí)現(xiàn)的對象。

定義:【修飾符】interface接口名extends父接口1,賦接口2,.......//不用extends父接口1...就是定義接口
{
//零到多個常量定義......
//零到多個抽象實(shí)例方法定義.....
}

【語法說明】:1、修飾符可以是public或者省略,如果省略public訪問控制符,則是包訪問權(quán)限。

2、接口里所有的成員都是public修飾,因為接口是公共的,所有類都能訪問的。接口里屬性默認(rèn)的修飾為:publicstaticfinal,不管屬性前面寫沒寫都會默認(rèn)加上,同樣方法的默認(rèn)修飾為:publicabstract,內(nèi)部類:publicstatic。都會默認(rèn)加上。

3、成員里面不能有構(gòu)造器,不能有初始化塊。

4、一個java源文件里最多只能定義一個接口,因為其是public修飾的,存儲的名字必須和public修飾的類的名字一樣,而接口可以看成一個特殊的類。

2、接口的繼承:一個接口可以有多個直接父接口,接口只能繼承接口,不能繼承類。

【注意點(diǎn)】:a、子接口繼承父接口,將會獲得父接口里定義的所有抽象方法,常量屬性,內(nèi)部類等定義。

3、接口的使用:語法:【修飾符】class類名extends父類implements接口1,接口2......{類體}。

【注意事項】

a、說明:一個類可以同時繼承一個父類,和多個接口,只是extends必須放置implements之后。

b、接口不能創(chuàng)建實(shí)例,但是可以聲明變量,但其一定是引用到了其實(shí)現(xiàn)類的對象。

c、主要用途就是被類實(shí)現(xiàn)。

d、實(shí)現(xiàn)的方法:利用implements關(guān)鍵字

e、一個類繼承了一個接口之后,必須完全實(shí)現(xiàn)這些接口里所定義的全部抽象方法(也就是要在子類里面重寫這些類方法),否則,如果沒有完全實(shí)現(xiàn),那么此類也只能定義成抽象類。

f、重寫接口方法時,修飾符只能比父類更大,或者相等,所以其也必須是public修飾符。

g、所有接口類型的變量都可以直接賦給Object類型的變量。

貼上示例代碼(引用于李剛的瘋狂java):

//定義一個接口Output 
 interface Output 
{ 
  //接口里只能把屬性定義成常量 
  int MAX_CACHE_LINE = 50;//主要是定義存儲空間 
  //接口里定義的只能是public的抽象方法 
  void out(); 
  void getData(String msg);    
} 
//定義一個接口Product 
interface Product 
{ 
  int getProduceTime(int a); 
} 
 
//讓printer類實(shí)現(xiàn)定義的接口 
public class Printer implements Output,Product 
{ 
  private String [] printData = new String[MAX_CACHE_LINE]; 
  private int dataNum =0; 
  public void out()//重寫父接口Output的方法 
  { 
    while(dataNum>0) 
    { 
      System.out.println("打印機(jī)打印"+printData[0]); 
      System.arraycopy(printData,1,printData,0,--dataNum); 
    } 
  } 
  public void getData(String msg)//重寫父接口Output的方法 
  { 
    if(dataNum>=MAX_CACHE_LINE) 
    { 
      System.out.println("已滿");     
    } 
    else  
    { 
      printData[dataNum++] = msg; 
    } 
  } 
  public int getProduceTime(int a)//重寫父接口Product的方法 
  { 
    return a = a; 
  } 
  public static void main(String[] args) 
  { 
    //父接口可聲明變量,但是不能創(chuàng)建實(shí)例,多態(tài):聲明的是Output,但是創(chuàng)建的實(shí)例是Printer 
    Output O= new Printer(); 
    O.getData("xiuxiu"); 
    O.out();//直接調(diào)用輸出的方法 
     
    //父接口可聲明變量,但是不能創(chuàng)建實(shí)例,多態(tài):聲明的是Output,但是創(chuàng)建的實(shí)例是Printer 
    Product p = new Printer(); 
    System.out.println(p.getProduceTime(82)); 
     
    //所有接口類型的引用變量都可以直接賦值給Object類型的變量 
    Object obj = p; 
    Object obj1 = O; 
  
  } 
   
}

 4、抽象類和接口的異同:

相同:

1、都有抽象方法。

2、都不能創(chuàng)建實(shí)例。

3、子類繼承其后都必須全部實(shí)現(xiàn)其內(nèi)的抽象方法,如果沒有全部實(shí)現(xiàn)的話,類只能定義成抽象類。

不相同:

1、接口里只能有抽象方法,抽象類里可以有普通方法。

2、接口類里的屬性默認(rèn)有修飾語publicstaticfinal,但是抽象類中的屬性可以是普通的。

3、接口沒有初始化塊,抽象類里有。

4、接口可以有多個父接口,但是抽象類只能有一個父類。

關(guān)于java中interface如何使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

新聞標(biāo)題:java中interface如何使用-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://www.rwnh.cn/article40/ccjdho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作網(wǎng)站設(shè)計公司、手機(jī)網(wǎng)站建設(shè)、App開發(fā)、Google企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
泰州市| 新田县| 台安县| 体育| 陈巴尔虎旗| 广饶县| 象山县| 府谷县| 临猗县| 仁寿县| 子洲县| 察哈| 开封县| 永寿县| 台中县| 莲花县| 蕉岭县| 宁晋县| 平原县| 松潘县| 桐柏县| 潮州市| 布尔津县| 京山县| 高清| 滦南县| 曲靖市| 图木舒克市| 普陀区| 渭南市| 巴林左旗| 兰考县| 鹰潭市| 灵川县| 新龙县| 塘沽区| 靖宇县| 鄯善县| 宿州市| 兰坪| 永兴县|