Neden java.açıklama.Gözlemlenebilen soyut bir sınıf değil mi?
Ben sadece java fark ettim.açıklama.Gözlemlenebilir somut bir sınıftır. Gözlemlenebilir amacı genişletilmiş olmak olduğu için, bu bana oldukça garip görünüyor. Bu şekilde uygulanan bir sebebi var mı?
O diyor ki this article buldum
Gözlemlenebilir somut bir sınıf, sınıf türetmek Java sadece tek bir miras sağlar açık olarak belirlenmiş olmalıdır.
Ama benim pek bir şey açıklamaz. Eğer Gözlemlenebilir soyut olsaydı aslında, kullanıcı sınıfı türetmek belirlemek zorunda kalacak.
CEVAP
Oldukça basit bir şeyhataObservable bir sınıfhiçsoyut ya da değil.
Observable
olmalıydıarayüzüve GÖRDÜM uygun bir uygulama (List
** 2 * uygulaması gibi) sağlamış olmaları gerekmektedir
""Java, dahil: içinde . hata bir kaç seçenek vardır
- java.util.Stack bir sınıf, bir arayüzü (Gözlemlenebilir, kötü seçim gibi)
- java.util.Propertiesuzanırjava.util.Hashtable (yerinekullanırbir)
- java.util.Date sınıfı biraz dağınık vedeğil25**!
- java.util.Calendar bir sınıfgerçekkarmaşa
- İmzasız 'bayt' tür (bu acı bir gerçek ve birçok kaynağı düşük seviyeli hataları)
- java.sql.SQLException checked bir istisna değildir
- Diziler kendi varsayılan
toString()
(nasıl bu kadar ÇOK soru bu neden oldu?)Arrays.toString(array)
kullanmayın Cloneable
marker arayüzü olmamalı;clone()
yöntemi olmalıdır veObject.clone()
değilvar
Ederken dilin kendisi açısından soapbox, IMHO:
==
.equals()
yöntem (bu baş ağrısı bir sürü neden) yürütmek gerekir- kimlik karşılaştırması
==
neredeyse hiç ihtiyaç çünkü javascript veyaboolean isIdentical(Object o)
gibi özel bir yöntem gibi===
olmalıdır da! <
Comparable
nesneleri (ve>
,<=
,>=
benzer şekilde için)compareTo(Object o) < 0
yürütmek gerekir
Neden Java statik olarak bir sınıf bil...
Neden't java değil.açıklama.Set(i...
Neden İplik soyut bir sınıf değildir v...
Neden't statik yöntemler Java'da ...
Liste<Köpek> Listenin alt<Hay...