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

Java接口默認方法帶來的問題分析【二義性問題】

 更新時間:2019年08月12日 11:45:38   作者:cakincqm  
這篇文章主要介紹了Java接口默認方法帶來的問題,結(jié)合實例形式分析了java接口帶來的二義性問題,需要的朋友可以參考下

本文實例分析了Java接口默認方法帶來的問題。分享給大家供大家參考,具體如下:

一 點睛

Java 8中,如果一個類實現(xiàn)兩個或多個接口,即“變相”的多繼承,但是若其中兩個接口都包含一個名字相同的default方法,會出現(xiàn)二義性問題。

二 實戰(zhàn)

1 代碼

interface faceA          //定義接口faceA
{
  void someMethod( );
  default public void DefaultMethod( )//定義接口中默認方法
  {
    System.out.println("Default method in the interface A");
  }
}
interface faceB          //定義接口faceB
{
  default public void DefaultMethod( )//定義接口InterfaceB中同名的默認方法
  {
    System.out.println("Default method in the interface B");
  }
}
class DefaultMethodClass implements faceA,faceB //定義子類實現(xiàn)接口InterfaceA, InterfaceB
{ public void someMethod( )          //實現(xiàn)接口InterfaceA的抽象方法
  {
    System.out.println("Some method in the subclass");
  }
}
public class Interfacsamedefaults
{
  public static void main(String[] args)
  {
    DefaultMethodClass def = new DefaultMethodClass( );
    def.someMethod();        //調(diào)用抽象方法
    def.DefaultMethod();      //調(diào)用默認方法
  }
}

2 運行

3 說明

實例化子類DefaultMethodClass的對象時,編譯器不知道應該在兩個同名的default方法中選擇哪一個,因此產(chǎn)生了二義性。因此,一個類實現(xiàn)多個接口時,若接口中有默認方法,不能出現(xiàn)同名的方法。

Java之所以禁止多繼承,就是想避免類似的二義性。但是接口中允許實現(xiàn)默認方法,又回到“二義性”的災難之門。

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

您可能感興趣的文章:

相關(guān)文章

  • SpringBoot啟動流程入口參數(shù)創(chuàng)建對象源碼分析

    SpringBoot啟動流程入口參數(shù)創(chuàng)建對象源碼分析

    這篇文章主要為大家介紹了SpringBoot啟動流程入口參數(shù)研究及創(chuàng)建對象源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Spring Boot集成Thymeleaf模板引擎的完整步驟

    Spring Boot集成Thymeleaf模板引擎的完整步驟

    這篇文章主要給大家介紹了關(guān)于Spring Boot集成Thymeleaf模板引擎的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • SpringBoot中的錯誤處理機制源碼解析

    SpringBoot中的錯誤處理機制源碼解析

    這篇文章主要介紹了SpringBoot中的錯誤處理機制源碼解析,springboot根據(jù)訪問者的request中的Accept屬性來判斷要返回什么樣的數(shù)據(jù),SpringBoot存在一個錯誤處理機制,會根據(jù)不同請求返回不同的結(jié)果,需要的朋友可以參考下
    2023-12-12
  • Java Spring 控制反轉(zhuǎn)(IOC)容器詳解

    Java Spring 控制反轉(zhuǎn)(IOC)容器詳解

    這篇文章主要為大家詳細介紹了Spring控制反轉(zhuǎn)IoC入門使用的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Java日期相關(guān)API的基本操作總結(jié)

    Java日期相關(guān)API的基本操作總結(jié)

    大概總結(jié)一下日期相關(guān)API操作原因是對于日期的操作我們開發(fā)中還是很常見的,包括在數(shù)據(jù)庫中保存日期,以及之前String類中對字符串的一些處理開發(fā)中都很常見,希望對大家有所幫助
    2022-11-11
  • Java用Arrays.asList初始化ArrayList實例方法

    Java用Arrays.asList初始化ArrayList實例方法

    在本篇文章里小編給大家分享的是關(guān)于Java中使用Arrays.asList初始化ArrayList的知識點內(nèi)容,需要的朋友們參考下。
    2019-10-10
  • 淺析SpringBoot中的過濾器和攔截器

    淺析SpringBoot中的過濾器和攔截器

    過濾器和攔截器都是為了在請求到達目標處理器(Servlet或Controller)之前或者之后插入自定義的處理邏輯,下面就跟隨小編來看看它們二者的區(qū)別和具體使用吧
    2024-03-03
  • SpringBoot之自定義Banner詳解

    SpringBoot之自定義Banner詳解

    這篇文章主要介紹了SpringBoot之自定義Banner詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Java中將UUID存儲為Base64字符串的方法實現(xiàn)

    Java中將UUID存儲為Base64字符串的方法實現(xiàn)

    使用Base64編碼來對UUID存儲在一些特定的場合被廣泛的使用,本文主要介紹了Java中將UUID存儲為Base64字符串的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • Java和c語言隨機數(shù)Random代碼詳細

    Java和c語言隨機數(shù)Random代碼詳細

    這篇文章主要介紹Java和c語言得隨機數(shù)Random,隨機數(shù)的用處在生活中比較少見,但是用處并不少,比如一些小游戲的制作等等。下面我們就一起來學習這篇關(guān)于Java和c隨機數(shù)Random得文章吧
    2021-10-10

最新評論