Java'daki instanceof operatörü, çalışma zamanında bir nesnenin belirli bir sınıfa ait olup olmadığını göstermek için kullanılır. instanceof ise, nesnenin bu özel sınıfın veya alt sınıfının bir örneği olup olmadığını bir boolean döndürerek gösterir.
instanceof in Java ise .net'tedir!
Kullanım: sonuç = sınıfın nesne örneği Parametre: Sonuç: Boolean tipi. Nesne: Gerekli. Rastgele nesne ifadeleri. Ders: Zorunlu. Herhangi bir tanımlanmış nesne sınıfı. Göstermek: Nesne sınıfın bir örneğiyse, operatör örneği true döndürür. Nesne belirtilen sınıfın bir örneği değilse veya nesne null ise, false döner.
Ancak, Java'daki derleme durumu ile instanceof durumunun çalışma durumu arasında bir fark vardır:
Derlenmiş durumda, sınıf nesne nesnesinin ana sınıfı, kendi sınıfı veya alt sınıfı olabilir. Bu üç durumda, Java derleme sırasında hata bildirmez.
Çalışan geçişte, sınıf nesne nesnesinin ana sınıfı olabilir, kendi sınıfı olabilir, bir alt sınıf değil. İlk iki durumda sonuç doğru, sonuncusu ise yanlış. Ancak, sınıf alt sınıf olduğunda, derleme hata bildirmez. Koşu sonucu yanlış.
Örnek:
Arayüz Kişisi
public interface Kişi { kamu boşluğu ye();
}
İnsanlar sınıfını uygulayın
public class People implements Person { özel int a=0; @Override public void eat() { System.out.println("======"+a);
}
}
Xiaoming alt kategorisi:
kamu sınıfı xiaoming uzanır İnsanlar { özel String adı;
@Override public void eat() { System.out.println("+++++++++");
}
}
Ana işlev
Not: Yukarıdaki iki yerdeki kod, derleme sırasında hata bildirmez.
Koşu sonucu:
true
false
true
true
|