Java接口名稱沖突問題的講解
對(duì)于方法重載的區(qū)分,主要通過下面三種方式:
1. 參數(shù)個(gè)數(shù)
2. 參數(shù)類型
3. 參數(shù)順序(較少使用,維護(hù)困難)
至于方法的其他部分,如方法返回值類型、修飾符等,與方法重載則沒有任何關(guān)系。
Java編程時(shí),假設(shè)存在兩個(gè)接口,但接口中存在相同名稱的方法,但是其僅返回值不同。如下:
interface interfac1{
void method();
}
interface interface2 {
int method();
}
interface interface3 extends interfac1,interface2{
}
這段程序看上去是合理的,但是程序?qū)崉t是錯(cuò)誤的。這就涉及到方法的重載問題,這里僅用返回值作為區(qū)分是無法進(jìn)行方法重載的,所以這兩個(gè)接口中的method()方法,會(huì)被當(dāng)做相同的方法。但是其返回值不同,又造成了矛盾。所以,程序會(huì)報(bào)錯(cuò)The return types are incompatible for the inherited methods interfac1.f(), interface2.f()。
所以在Java中,當(dāng)方法名稱相同,僅僅根據(jù)方法返回值來區(qū)分重載方法是行不通的。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Java虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)域匯總
這篇文章主要給大家介紹了關(guān)于Java虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)域的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
mybatis使用pageHelper插件進(jìn)行查詢分頁
這篇文章主要介紹了mybatis使用pageHelper插件進(jìn)行查詢分頁,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
java調(diào)用js文件的兩種常用方法示例(支持V8引擎)
在Java中調(diào)用JavaScript的方法通常涉及到使用Java的腳本引擎,下面這篇文章主要給大家介紹了關(guān)于java調(diào)用js文件的兩種常用方法(支持V8引擎)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
Spring?Boot?3.x?集成?Feign的詳細(xì)過程
本文闡述了如何在SpringBoot3.x中集成Feign,以實(shí)現(xiàn)微服務(wù)之間的調(diào)用,主要步驟包括:搭建chain-common服務(wù),創(chuàng)建chain-starter/chain-feign-starter服務(wù),集成Feign到chain-system和chain-iot-channel服務(wù),配置Feign,感興趣的朋友一起看看吧2024-09-09
mybatis中關(guān)于mapper的使用以及注意事項(xiàng)
這篇文章主要介紹了mybatis中關(guān)于mapper的使用以及注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
spring 整合mybatis后用不上session緩存的原因分析
因?yàn)橐恢庇胹pring整合了mybatis,所以很少用到mybatis的session緩存。什么原因呢?下面小編給大家介紹spring 整合mybatis后用不上session緩存的原因分析,需要的朋友可以參考下2017-02-02

