文章詳情頁
編程 - java 為什么沒有靜態方法接口,有沒有哪門語言有靜態方法接口。
瀏覽:93日期:2023-11-06 09:36:45
問題描述
我想讓子類的靜態方法也符合固定的規范,提供差異功能,父類的靜態方法來提供相同功能。
為什么 java 中不讓靜態方法擁有和普通方法的集成覆蓋重寫行為呢?我覺得蠻好的啊?只是因為不符合某種邏輯?
你知道哪種編程語言有這種特性。
問題解答
回答1:用單例代替靜態就好,事實上,面向對象并不需要靜態,kotlin之類的這個支持就很好,用伴生對象或者單例對象代替靜態,可以讓伴生對象實現那個接口,
https://kotlinlang.org/docs/r...
interface Factory<T> { fun create(): T}class MyClass { companion object : Factory<MyClass> {override fun create(): MyClass = MyClass() }}回答2:
首先。你要理解java中什么是靜態方法。重寫在一定程度上來說就是多態的體現,而java中靜態方法是與類綁定的。也就是說,當這個類被加載的時候,類中的靜態方法也隨之加載,你所說的繼承重寫又有什么意義呢?
標簽:
java
排行榜
