您的位置:首頁技術文章
文章詳情頁

編程 - java 為什么沒有靜態方法接口,有沒有哪門語言有靜態方法接口。

瀏覽:112日期: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
国产综合久久一区二区三区