Java instanceof (Örneklerle)

Bu eğitimde, örnekler yardımıyla Java instanceof operatörü hakkında ayrıntılı bilgi edineceksiniz.

instanceofJava operatör bir amacı, belirli bir sınıf veya olmayan bir örneği olup olmadığını kontrol etmek için kullanılır.

Sözdizimi

 objectName instanceOf className;

Burada, objectName bir className örneğiyse, operatör döndürür true. Aksi takdirde geri döner false.

Örnek: Java örneği

 class Main ( public static void main(String() args) ( // create a variable of string type String name = "Programiz"; // checks if name is instance of String boolean result1 = name instanceof String; System.out.println("name is an instance of String: " + result1); // create an object of Main Main obj = new Main(); // checks if obj is an instance of Main boolean result2 = obj instanceof Main; System.out.println("obj is an instance of Main: " + result2); ) )

Çıktı

 name bir String örneğidir: true obj, Main'in bir örneğidir: true

Yukarıdaki örnekte, Stringtürden bir değişken adı ve Main sınıfından bir nesne objesi oluşturduk.

Burada, instanceofismin ve objenin Stringsırasıyla ve Main sınıfının örnekleri olup olmadığını kontrol etmek için operatörü kullandık . Ve operatör trueher iki durumda da geri döner .

Not : Java'da, Stringilkel bir veri türü yerine bir sınıftır. Daha fazla bilgi edinmek için Java String'i ziyaret edin.

Devralma sırasında Java örneği

instanceofAlt sınıfın nesnelerinin aynı zamanda üst sınıfın bir örneği olup olmadığını kontrol etmek için operatörü kullanabiliriz . Örneğin,

 // Java Program to check if an object of the subclass // is also an instance of the superclass // superclass class Animal ( ) // subclass class Dog extends Animal ( ) class Main ( public static void main(String() args) ( // create an object of the subclass Dog d1 = new Dog(); // checks if d1 is an instance of the subclass System.out.println(d1 instanceof Dog); // prints true // checks if d1 is an instance of the superclass System.out.println(d1 instanceof Animal); // prints true ) )

Yukarıdaki örnekte, Animal sınıfından devralan bir alt sınıf Dog oluşturduk. Dog sınıfından bir d1 nesnesi oluşturduk.

Print ifadesinin içinde ifadeye dikkat edin,

 d1 instanceof Animal

Burada, instanceofd1'in aynı zamanda Animal sınıfının bir örneği olup olmadığını kontrol etmek için operatörü kullanıyoruz .

Arayüzde Java instanceof

instanceofOperatör aynı zamanda bir sınıfın bir amacı da sınıfı tarafından uygulanan arayüzünün bir örneği olup olmadığını kontrol etmek için kullanılır. Örneğin,

 // Java program to check if an object of a class is also // an instance of the interface implemented by the class interface Animal ( ) class Dog implements Animal ( ) class Main ( public static void main(String() args) ( // create an object of the Dog class Dog d1 = new Dog(); // checks if the object of Dog // is also an instance of Animal System.out.println(d1 instanceof Animal); // returns true ) )

Yukarıdaki örnekte, Dog sınıfı Animal arayüzünü uygular. Print ifadesinin içinde ifadeye dikkat edin,

 d1 instanceof Animal

Burada d1, Dog sınıfının bir örneğidir. instanceofOperatör kontrol d1, arayüz Animal bir örneği ise.

Not : Java'da, tüm sınıflar sınıftan miras alınır Object. Dolayısıyla, tüm sınıfların örnekleri aynı zamanda Objectsınıfın bir örneğidir .

Önceki örnekte, kontrol edersek,

 d1 instanceof Object

Sonuç olacak true.

Ilginç makaleler...