SORU
26 AĞUSTOS 2011, Cuma


Java soyut arayüzü

Bir örnek java derler () düşünün

public abstract interface Interface {
    public void interfacing();
    public abstract boolean interfacing(boolean really);
}

Neden bir arayüz "" soyut? ilan edilmesi için gerekli midir Soyut bir arayüz ile geçerli olan diğer kurallar var mı?


Son olarak: abstract eskimiş İse, neden Java dahil mi? Soyut arabirim için bir tarih var mı?

CEVAP
26 AĞUSTOS 2011, Cuma


Neden bir arayüz "" soyut? ilan edilmesi için gerekli midir

Değil.

public abstract interface Interface {
       \___.__/
           |
           '----> Neither this...

    public void interfacing();
    public abstract boolean interfacing(boolean really);
           \___.__/
               |
               '----> nor this, are necessary.
}

Arayüzleri ve yöntemleri örtülü olarak 6 ** ve bu değiştirici fark etmez ekliyoruz.

Soyut bir arayüz ile geçerli olan diğer kurallar var mı?

Hayır, aynı kurallar geçerlidir. Yöntem (beton) herhangi bir uygulama sınıfı tarafından uygulanması gerekir.

Eğer soyut kullanılmıyor, neden Java dahil mi? Soyut arabirim için bir tarih var mı?

İlginç bir soru. Yukarı çıkardımilkİDEA basım ve diyor ki "This modifier is obsolete and should not be used in new Java programs" bile var.

Tamamkazma bile daha fazla... Çok sayıda kırık bağlantılar vurduktan sonra, orijinal bir kopyasını buldum 12* Specification * (veya "") el ile. Oldukça ilginç okumak, söylemek ve toplamda sadece 38 sayfa zorundayım! :-)

Bölüm 5, Arayüzleri altında aşağıdaki örnek sağlar:

public interface Storing {
    void freezeDry(Stream s) = 0;
    void reconstitute(Stream s) = 0;
}

Ve kenarına yazıyor

Gelecekte, "=0" kısmını arabirimleri bildirmek yöntemleri uzağa gidebilir.

=0 abstract anahtar kelime yerini aldı varsayarsak abstract bir noktada arabirim yöntemleri için zorunlu olduğunu tahmin ediyorum!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • graham025

    graham025

    25 NİSAN 2006
  • LiquidMusick

    LiquidMusick

    23 Aralık 2010
  • PorterRobinsonVEVO

    PorterRobins

    11 Kasım 2013