SORU
16 Kasım 2009, PAZARTESİ


Son statik yöntemin davranış

Etrafında statik yöntem ile değiştiriciler ile oynuyorum ve garip bir davranış geldi.

Bildiğimiz gibi statik yöntemler sınıf ziyade örneği ile ilişkili olarak geçersiz olamaz.

Eğer parçacığının var, eğer iyi derler

//Snippet 1 - Compiles fine
public class A {
    static void ts() {
    }
}

class B extends A {
    static void ts() {
    }
}

Ama eğer Bir sınıf statik bir yöntem için son değiştirici dahil ettim, sonra derleme başarısız olur () ts B geçersiz kılamaz ts (); geçersiz yöntem statik kesindir.

Neden statik yöntem geçersiz hiç olamaz bu ne zaman oluyor?

CEVAP
16 Kasım 2009, PAZARTESİ


Statik yöntemler geçersiz kılınamaz ama gizli olabilir. B ts() yöntemi ts() tarafından geçersiz (polimorfizmi tabi değil) değil ama bunu gizleyecektir. Eğer dediğiniz ts() B (A.ts() B.ts() ts()), B denir ve A. Beri bu değil tabi polimorfizmi, çağrı ts() Bir daha asla ama asla yeniden yönlendirilecek bir B

Anahtar final gizli olmaktan yöntemi devre dışı bırakır. Gizli olamaz ve bunu yapmak için bir girişim, bir derleyici hatasına neden olur.

Bu yardımcı olur umarım.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BDGcustoms

    BDGcustoms

    24 NİSAN 2011
  • REK Roth Productions

    REK Roth Pro

    8 Ocak 2011
  • warningthepeople

    warningthepe

    21 EYLÜL 2011