Pengaturcaraan - Mengapa Java tidak mempunyai antara muka kaedah statik Adakah terdapat mana-mana bahasa yang mempunyai antara muka kaedah statik?
我想大声告诉你
我想大声告诉你 2017-06-12 09:26:00
0
2
914

Saya mahu kaedah statik subkelas turut mematuhi spesifikasi tetap dan menyediakan fungsi yang berbeza, dan
kaedah statik kelas induk menyediakan fungsi yang sama.

Mengapa Java tidak membenarkan kaedah statik menyepadukan kelakuan override dan override dengan kaedah biasa? Saya rasa ia cukup bagus? Hanya kerana ia tidak mengikut logik tertentu?

Tahukah anda bahasa pengaturcaraan yang mempunyai ciri ini.

我想大声告诉你
我想大声告诉你

membalas semua(2)
漂亮男人

Hanya gunakan singleton dan bukannya statik
Malah, berorientasikan objek tidak memerlukan statik
Kotlin dan seumpamanya menyokong ini dengan baik
Gunakan objek pendamping atau objek tunggal
Anda boleh membiarkan objek pendamping melaksanakannya antara muka. ,

https://kotlinlang.org/docs/r...

interface Factory<T> {
    fun create(): T
}


class MyClass {
    companion object : Factory<MyClass> {
        override fun create(): MyClass = MyClass()
    }
}
我想大声告诉你

Pertama sekali. Anda perlu memahami kaedah statik dalam java. Pada tahap tertentu, penulisan semula adalah manifestasi polimorfisme, dan kaedah statik di Jawa terikat kepada kelas. Dalam erti kata lain, apabila kelas ini dimuatkan, kaedah statik dalam kelas juga dimuatkan Apakah maksud pewarisan dan penggantian yang anda katakan?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan