SORU
5 EYLÜL 2011, PAZARTESİ


'örneğin' operatör için ne kullanılır?

instanceof operatör için ne kullanılır? Gibi şeyler gördüm

if (source instanceof Button) {
    //...
} else {
    //...
}

Ama hiçbiri bana mantıklı geldi. Araştırmamı yaptım, ama sadece herhangi bir açıklama yapmadan örnekler ile geldi.

CEVAP
5 EYLÜL 2011, PAZARTESİ


instanceof anahtar kelimeikili operatörtest için kullanılmıştırnesne(örnek) belirli bir türün bir alt türü.

Hayal:

interface Domestic {}
class Animal {}
class Dog extends Animal implements Domestic {}
class Cat extends Animal implements Domestic {}

dog Bir Hayalnesne, Object dog = new Dog() ile oluşturulan sonra

dog instanceof Domestic // true - Dog implements Domestic
dog instanceof Animal   // true - Dog extends Animal
dog instanceof Dog      // true - Dog is Dog
dog instanceof Object   // true - Object is the parent type of all objects

Ancak

animal instanceof Dog // false

Hayvan Köpek supertype ve daha az olasılıkla nedeniyle "". rafine

Ve,

dog instanceof Cat // does not even compile!

Bu Dog Cat, ne alt, ne de bir supertype de bunu uygulamıyor çünkü.

Değişken dog yukarıda kullanılan türde Object olduğunu unutmayın. Bu instanceof bir olduğunu göstermek içinçalışma zamanıoperasyon ve/bir harf kullan için bize getiriyor:tepki farklı üzerine çalışma zamanında nesneleri bir tür göre.

Bir şeyler not: expressionThatIsNull instanceof T 20 ** her türlü yanlış.

Mutlu kodlama.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • itfigueres

    itfigueres

    12 EKİM 2013
  • Just So

    Just So

    3 HAZİRAN 2007
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010