Heim  >  Fragen und Antworten  >  Hauptteil

Programmierung – Warum verfügt Java nicht über eine statische Methodenschnittstelle?

Ich möchte, dass die statischen Methoden der Unterklasse ebenfalls festen Spezifikationen entsprechen und unterschiedliche Funktionen bereitstellen.
Die statischen Methoden der übergeordneten Klasse stellen dieselben Funktionen bereit.

Warum erlaubt Java nicht, dass statische Methoden ein integriertes Override- und Override-Verhalten mit gewöhnlichen Methoden haben? Ich finde es ziemlich gut? Nur weil es keiner Logik folgt?

Wissen Sie, welche Programmiersprache über diese Funktion verfügt?

我想大声告诉你我想大声告诉你2686 Tage vor886

Antworte allen(2)Ich werde antworten

  • 漂亮男人

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

    Antwort
    0
  • 我想大声告诉你

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

    首先。你要理解java中什么是静态方法。重写在一定程度上来说就是多态的体现,而java中静态方法是与类绑定的。也就是说,当这个类被加载的时候,类中的静态方法也随之加载,你所说的继承重写又有什么意义呢?

    Antwort
    0
  • StornierenAntwort