成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

12.java 接口

pinecone / 775人閱讀

摘要:接口的對象可以利用子類對象的向上轉(zhuǎn)型進行實例化賦值。接口文件保存在結(jié)尾的文件中,文件名使用接口名。接口相應(yīng)的字節(jié)碼文件必須在與包名稱相匹配的目錄結(jié)構(gòu)中。接口不能包含成員變量,除了全局常量定義。

概念

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

接口中只能包含抽象方法和全局常量。

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

接口的聲明語法格式如下:

[訪問修飾符] interface 接口名稱 [extends 其他的接口名] {
        // 聲明全局常量 (static final變量)
        // 抽象方法
}

接口有以下特性:

接口是隱式抽象的,當(dāng)聲明一個接口的時候,不必使用abstract關(guān)鍵字。

接口中每一個方法也是隱式抽象的,聲明時同樣不需要abstract關(guān)鍵字。

接口中的方法都是公有的(public),public也可以省略。

接口的子類可以通過implements關(guān)鍵字實現(xiàn)多個接口。

接口的子類(如果不是抽象類)必須覆寫接口中的全部抽象方法。

接口的對象可以利用子類對象的向上轉(zhuǎn)型進行實例化賦值。

接口與類相似點:

一個接口可以有多個方法。

接口文件保存在 .java 結(jié)尾的文件中,文件名使用接口名。

接口的字節(jié)碼文件保存在 .class 結(jié)尾的文件中。

接口相應(yīng)的字節(jié)碼文件必須在與包名稱相匹配的目錄結(jié)構(gòu)中。

接口與類的區(qū)別:

接口不能用于實例化對象。

接口沒有構(gòu)造方法。

接口中所有的方法必須是抽象方法。

接口不能包含成員變量,除了全局常量(static final定義)。

接口不是被類繼承了,而是要被類實現(xiàn)。

接口支持多繼承,可以使用extends繼承多個接口。

示例

interface A {
    public void print();
}
interface B {
    public void get();
}

class X implements A,B{
    public void print(){
        System.out.println("A接口的抽象方法");
    }
    public void get(){
        System.out.println("B接口的抽象方法");
    }
}
public class testDemo {
    public static void main(String[] args) {
     /* X x = new X();
      A a = x; //向上轉(zhuǎn)型
      B b = x; //向上轉(zhuǎn)型
      b.get();
      */

      A a = new X();
      B b = (B)a;
      b.get();
      System.out.println(a instanceof A);
      System.out.println(a instanceof B);
      System.out.println(a instanceof X);
    }
}
輸出結(jié)果:
B接口的抽象方法
true
true
true

總結(jié):不要被引用變量所代表的類型所迷惑,而要看具體該引用變量所指向的實例對象(new 創(chuàng)建出來的類型)。

實際開發(fā)中接口的核心作用

定義不同層之間的操作標(biāo)準,即定義一個標(biāo)準。

表示一種操作能力,這種情況下,接口里可能不包含任何方法。

將服務(wù)端的遠程方法暴露給客戶端。

抽象類和接口的對比

抽象類和接口在使用形式上非常類似.

區(qū)別點 抽象類 接口
關(guān)鍵字 abstract class interface
組成 構(gòu)造方法、普通方法、抽象方法、static方法、常量、變量 抽象方法、全局常量
子類使用 class 子類 extends 抽象類 class 子類 implement 接口1,接口2,...
關(guān)系 抽象類可以實現(xiàn)多個接口 接口不能繼承抽象類,可以繼承多個父接口
權(quán)限 抽象類可以使用各種權(quán)限 接口只能使用public
繼承限制 單繼承 多繼承,子類可以實現(xiàn)多個接口
子類 子類都必須重寫全部的抽象方法 同抽象類
實例化 無法直接實例化,依靠子類對象的向上轉(zhuǎn)型進行對象的實例化 同抽象類
什么時候使用抽象類和接口

如果你擁有一些方法并且想讓它們中的一些有默認實現(xiàn),那么使用抽象類吧。

如果你想實現(xiàn)多重繼承,那么你必須使用接口。由于Java不支持多繼承,子類不能夠繼承多個類,但可以實現(xiàn)多個接口。因此你就可以使用接口來解決它。

如果基本功能在不斷改變,那么就需要使用抽象類。如果不斷改變基本功能并且使用接口,那么就需要改變所有實現(xiàn)了該接口的類。

當(dāng)extends和implement同時使用時,extends要放在前面。

Java8中的默認方法和靜態(tài)方法

Oracle已經(jīng)開始嘗試向接口中引入普通方法和靜態(tài)方法(static),以此來減少抽象類和接口之間的差異?,F(xiàn)在,我們可以為接口提供默認實現(xiàn)的方法了并且不用強制子類來實現(xiàn)它。

jdk1.8 允許在接口里面定義普通方法,但普通方法必須使用default修飾。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/73550.html

相關(guān)文章

  • Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師(全網(wǎng)最強)

    摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進步歡迎點贊收藏留言前情提要無意間聽到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...

    Scorpion 評論0 收藏0
  • 【譯】Java 核心內(nèi)容相關(guān)面試題

    摘要:能否聲明一個內(nèi)容為空的接口可以。能否將接口聲明為不允許,這樣做會導(dǎo)致編譯錯誤。當(dāng)異常沒有被捕獲時,會發(fā)生什么當(dāng)前線程所在的線程組會執(zhí)行一個叫的方法,最后程序會異常退出。非靜態(tài)內(nèi)部類可以使用哪些修飾符非靜態(tài)內(nèi)部類可以使用或修飾符。 原文地址 http://www.instanceofjava.com/2014/12/core-java-interview-questions.html 1...

    sunny5541 評論0 收藏0
  • Java問題匯總,持續(xù)更新到GitHub

    摘要:目錄介紹問題匯總具體問題好消息博客筆記大匯總年月到至今,包括基礎(chǔ)及深入知識點,技術(shù)博客,學(xué)習(xí)筆記等等,還包括平時開發(fā)中遇到的匯總,當(dāng)然也在工作之余收集了大量的面試題,長期更新維護并且修正,持續(xù)完善開源的文件是格式的同時也開源了生活博客,從年 目錄介紹 00.Java問題匯總 01.具體問題 好消息 博客筆記大匯總【16年3月到至今】,包括Java基礎(chǔ)及深入知識點,Android技...

    beita 評論0 收藏0
  • Java編程思想》筆記12.通過異常處理錯誤

    摘要:一旦異常被拋出,就表明錯誤已無法挽回,也不能回來繼續(xù)執(zhí)行。這種在編譯時被強制檢查的異常稱為被檢查的異常。通過獲取原始異常。構(gòu)造器對于在構(gòu)造階段可能會拋出異常,并要求清理的類,最安全的做法是使用嵌套的子句。 點擊進入我的博客 Java異常處理的目的在于通過使用少于目前數(shù)量的代碼來簡化大型、可靠的程序的生成,并且通過這種方式可以使你更自信:你的應(yīng)用中沒有未處理的錯誤。 12.1 概念 異...

    Vultr 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<