搜尋

首頁  >  問答  >  主體

程式設計 - java 為什麼沒有靜態方法接口,有沒有哪門語言有靜態方法接口。

我想讓子類別的靜態方法也符合固定的規範,提供差異功能,
父類別的靜態方法來提供相同功能。

為什麼 java 中不讓靜態方法擁有和普通方法的整合覆寫重寫行為呢?我覺得蠻好的啊?只是因為不符合某種邏輯?

你知道哪種程式語言有這種特性。

我想大声告诉你我想大声告诉你2753 天前925

全部回覆(2)我來回復

  • 漂亮男人

    漂亮男人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()
        }
    }

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-12 09:28:00

    首先。你要理解java中什麼是靜態方法。重寫在某種程度上來說就是多態的體現,而java中靜態方法是與類別綁定的。也就是說,當這個類別被載入的時候,類別中的靜態方法也隨之載入,你所說的繼承重寫又有什麼意義呢?

    回覆
    0
  • 取消回覆