Neden diziler Nesneleri, ancak temel sınıf olarak kullanılabilir değil mi?
Java dil şartnamesi belirtir
Java programlama dili, diziler, nesneler (madde 4.3.1), dinamik olarak oluşturulur, ve Object türündeki değişkenler (madde 4.3.2) atanabilir. Sınıf
Object
tüm yöntemleri bir dizi ileri sürülemez.
Yani, dizileri düşünürsek nesneleri — neden Java tasarımcıları ve, örneğin, toString()
equals()
geçersiz devralmasına izin verecek mi yaptınız?
Geçerli sözdizimi temel sınıf olarak bir dizi anonim sınıflar oluşturma izin vermedi, ama sanmıyorumbunedeni onların kararı.
CEVAP
Java olmayan nesne Dil ve her şey bir nesne (Smalltalk düşün) olduğu zaman çok yavaş diller arasında bir uzlaşma oldu.
Hatta daha yeni dilde, bir sahiphızlıdiziler için dil düzeyinde yapısı (ve genellikle haritalar) stratejik bir hedef olarak kabul edilir. Çoğu insan dizileri için kalıtımsal bir kuvvet istemez, tabii ki, hiç kimsenin JİT gibi JVM gelişmeler bunu daha önce istemiştim.
Nesneler olurken diziler, sınıf örnekleri (**5) olarak tasarlanmış değildi. Olur fazla yararı olan yeteneğini geçersiz kılmak için bir yöntem üzerinde bir dizi, ve kesinlikle bir büyük yeterli bir denge ihtiyacı kontrol etmek için doğru yöntemi uygulamak (ve bence bir harika-bir tane yeter için denkleştirme artan zorluk kod okuma, benzer ne zaman geçersiz kılma operatörleri).
Neden Java statik olarak bir sınıf bil...
Neden değil't Python'in __in...
Liste<Köpek> Listenin alt<Hay...
Neden değil't Veritabanı-Öneki.bö...
Neden kısa, ama int değişken değil ben...