最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java接口默認(rèn)方法帶來的問題分析【二義性問題】

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

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

一 點(diǎn)睛

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

二 實(shí)戰(zhàn)

1 代碼

interface faceA          //定義接口faceA
{
  void someMethod( );
  default public void DefaultMethod( )//定義接口中默認(rèn)方法
  {
    System.out.println("Default method in the interface A");
  }
}
interface faceB          //定義接口faceB
{
  default public void DefaultMethod( )//定義接口InterfaceB中同名的默認(rèn)方法
  {
    System.out.println("Default method in the interface B");
  }
}
class DefaultMethodClass implements faceA,faceB //定義子類實(shí)現(xiàn)接口InterfaceA, InterfaceB
{ public void someMethod( )          //實(shí)現(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)用默認(rèn)方法
  }
}

2 運(yùn)行

3 說明

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

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

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

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:

相關(guān)文章

  • java調(diào)用oracle分頁存儲(chǔ)過程示例

    java調(diào)用oracle分頁存儲(chǔ)過程示例

    這篇文章主要介紹了java調(diào)用oracle分頁存儲(chǔ)過程,需要的朋友可以參考下
    2014-03-03
  • java的時(shí)間類匯總(齊全)

    java的時(shí)間類匯總(齊全)

    這篇文章主要介紹了java的時(shí)間類匯總(齊全),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-09-09
  • springboot高并發(fā)下提高吞吐量的實(shí)現(xiàn)

    springboot高并發(fā)下提高吞吐量的實(shí)現(xiàn)

    這篇文章主要介紹了springboot高并發(fā)下提高吞吐量的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Java由淺入深講解繼承下

    Java由淺入深講解繼承下

    繼承就是可以直接使用前輩的屬性和方法。自然界如果沒有繼承,那一切都是處于混沌狀態(tài)。多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。多態(tài)就是同一個(gè)接口,使用不同的實(shí)例而執(zhí)行不同操作
    2022-04-04
  • java中定義常量方法介紹

    java中定義常量方法介紹

    java中只有static和非static變量,這個(gè)屬于每個(gè)類的,如果需要全局變量比如PI(3.14...),可以寫一個(gè)類Math,定義static變量PI,調(diào)用Math.PI就可以使用了,這樣就達(dá)到我們使用全局變量的目的了
    2013-10-10
  • SpringBoot如何使用過濾器進(jìn)行XSS防御

    SpringBoot如何使用過濾器進(jìn)行XSS防御

    想對(duì)全局的請(qǐng)求都進(jìn)行XSS防御可以使用servlet中的過濾器或者spring mvc中的攔截器,下面我們就來看看如何使用servlet中的過濾器進(jìn)行XSS防御吧
    2024-11-11
  • ANSI,Unicode,BMP,UTF等編碼概念實(shí)例講解

    ANSI,Unicode,BMP,UTF等編碼概念實(shí)例講解

    這篇文章主要介紹了ANSI,Unicode,BMP,UTF等編碼概念實(shí)例講解,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Spring中的@EnableScheduling定時(shí)任務(wù)注解

    Spring中的@EnableScheduling定時(shí)任務(wù)注解

    這篇文章主要介紹了Spring中的@EnableScheduling注解,@EnableScheduling是 Spring Framework 提供的一個(gè)注解,用于啟用 Spring 的定時(shí)任務(wù)功能,通過使用這個(gè)注解,可以在 Spring 應(yīng)用程序中創(chuàng)建定時(shí)任務(wù),需要的朋友可以參考下
    2024-01-01
  • 關(guān)于springboot配置文件密文解密方式

    關(guān)于springboot配置文件密文解密方式

    這篇文章主要介紹了關(guān)于springboot配置文件密文解密方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • springboot+kafka中@KafkaListener動(dòng)態(tài)指定多個(gè)topic問題

    springboot+kafka中@KafkaListener動(dòng)態(tài)指定多個(gè)topic問題

    這篇文章主要介紹了springboot+kafka中@KafkaListener動(dòng)態(tài)指定多個(gè)topic問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評(píng)論

噶尔县| 竹山县| 开江县| 贡嘎县| 孙吴县| 齐齐哈尔市| 临城县| 大洼县| 图片| 琼结县| 丹巴县| 孟连| 贵阳市| 和田市| 郁南县| 北川| 彩票| 巴中市| 清水河县| 正镶白旗| 福海县| 静宁县| 凌海市| 揭阳市| 岱山县| 海林市| 阿瓦提县| 莱西市| 渭南市| 察隅县| 庐江县| 枣强县| 德安县| 永州市| 南岸区| 手游| 福建省| 杂多县| 石首市| 洛南县| 梧州市|