我想讓子類別的靜態方法也符合固定的規範,提供差異功能,
父類別的靜態方法來提供相同功能。
為什麼 java 中不讓靜態方法擁有和普通方法的整合覆寫重寫行為呢?我覺得蠻好的啊?只是因為不符合某種邏輯?
你知道哪種程式語言有這種特性。
漂亮男人2017-06-12 09:28:00
用單例代替靜態就好,
事實上,面向對象並不需要靜態,
kotlin之類的這個支援就很好,
用伴生對像或者單例對象代替靜態,
可以讓伴生對象實現那個接口,
https://kotlinlang.org/docs/r...
interface Factory<T> {
fun create(): T
}
class MyClass {
companion object : Factory<MyClass> {
override fun create(): MyClass = MyClass()
}
}
我想大声告诉你2017-06-12 09:28:00
首先。你要理解java中什麼是靜態方法。重寫在某種程度上來說就是多態的體現,而java中靜態方法是與類別綁定的。也就是說,當這個類別被載入的時候,類別中的靜態方法也隨之載入,你所說的繼承重寫又有什麼意義呢?