Java接口名稱沖突問題的講解
對于方法重載的區(qū)分,主要通過下面三種方式:
1. 參數(shù)個數(shù)
2. 參數(shù)類型
3. 參數(shù)順序(較少使用,維護困難)
至于方法的其他部分,如方法返回值類型、修飾符等,與方法重載則沒有任何關系。
Java編程時,假設存在兩個接口,但接口中存在相同名稱的方法,但是其僅返回值不同。如下:
interface interfac1{ void method(); } interface interface2 { int method(); } interface interface3 extends interfac1,interface2{ }
這段程序看上去是合理的,但是程序?qū)崉t是錯誤的。這就涉及到方法的重載問題,這里僅用返回值作為區(qū)分是無法進行方法重載的,所以這兩個接口中的method()方法,會被當做相同的方法。但是其返回值不同,又造成了矛盾。所以,程序會報錯The return types are incompatible for the inherited methods interfac1.f(), interface2.f()
。
所以在Java中,當方法名稱相同,僅僅根據(jù)方法返回值來區(qū)分重載方法是行不通的。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
相關文章
SpringBoot如何動態(tài)改變?nèi)罩炯墑e
這篇文章主要介紹了SpringBoot如何動態(tài)改變?nèi)罩炯墑e,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2020-12-12Java HashSet(散列集),HashMap(散列映射)的簡單介紹
這篇文章主要介紹了Java HashSet(散列集),HashMap(散列映射)的簡單介紹,幫助大家更好的理解和學習Java集合框架的相關知識,感興趣的朋友可以了解下2021-01-01mybatis返回map類型數(shù)據(jù)空值字段不顯示的解決方案
這篇文章主要介紹了mybatis返回map類型數(shù)據(jù)空值字段不顯示的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03