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

