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

  • Boiler Room

    Boiler Room

    10 Mayıs 2012
  • jpmkm1

    jpmkm1

    4 NİSAN 2008
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008