2016-11-18 121 views
0

從Java 8開始,接口可能有靜態方法。所以我的問題是,在接口中有一個靜態工廠方法是否有意義,這會使實際的實現變得不穩定。Java 8接口 - 靜態工廠方法

除接口對其實現具有依賴性這一事實外,我看不到其他缺點。當然,在一個接口有很多實現的情況下,我也不會考慮這樣做。

您對此有何評論?

+0

你將如何界面知道接口的未來可能的實現是什麼? – bradimus

+0

「在接口有很多實現的情況下,我也不會考慮這樣做」.......那麼爲什麼你需要接口呢? – developer

回答

1

除了接口與其實現相關的事實,我看不到其他缺點。當然在 的情況下,一個接口有許多實現,我也 不會考慮這樣做。

「編碼到接口」的整個概念是將接口與實現類分離,以便它能夠靈活地在運行時注入/傳遞不同的對象並獲得動態行爲。因此,簡而言之,如果你使用實現(即使它是單一實現)對接口進行硬編碼,那麼你的代碼就會緊密耦合在一起,並且你正在打破open closed principle(類應該是靈活/開放的用於擴展,關閉用於修改),這是不推薦的。