搜索

首页  >  问答  >  正文

编程 - java 为什么没有静态方法接口,有没有哪门语言有静态方法接口。

我想让子类的静态方法也符合固定的规范,提供差异功能,
父类的静态方法来提供相同功能。

为什么 java 中不让静态方法拥有和普通方法的集成覆盖重写行为呢?我觉得蛮好的啊?只是因为不符合某种逻辑?

你知道哪种编程语言有这种特性。

我想大声告诉你我想大声告诉你2720 天前906

全部回复(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
  • 取消回复