在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ Java 僅返回值類型不同的同名方法,他們的簽名不一樣,如何在一個類中實現(xiàn)同時存

Java 僅返回值類型不同的同名方法,他們的簽名不一樣,如何在一個類中實現(xiàn)同時存在?

    // new method
    protected String constructScalar(ScalarNode node) {
        return node.getValue();
    }

    // old method
    protected Object constructScalar(ScalarNode node) {
        return node.getValue();
    }

在一段舊程序里,調(diào)用的是 old method ,簽名里的返回值類型是Object,而依賴庫里的類是新的,只有 new method ,這時程序調(diào)用會報java.lang.NoSuchMethodError,如何才能把新舊方法都給它塞進去,讓舊程序也能正確調(diào)用。

回答
編輯回答
薔薇花

java方法重載是不以返回類型來區(qū)分的,畢竟要是按返回類型來區(qū)分但我們有不將返回值賦給一個變量,那編譯器就懵了到底調(diào)用那個方法?所以僅僅返回值不一樣但兩個方法是無法塞到同一個類里的。你的情景描述不太清楚,是否可以用繼承覆蓋老的方法來解決。

2017年6月27日 18:11