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

