Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

"instanceof" Komutu

"instanceof" komutu ile nesnenin karşılaştırılan sınıf tipinde olup olmadığını söyler. Bu nedenle true/false bir sonuç döndürür. "instanceof" tür karşılaştırma operatörü olarak da bilinir.

class Car{
  	...
}
// "Car" tipinden oluşturulmuş "carObject1" nesnesinin "Car" tipinde olup olmadığını kontrol ediyoruz.
Car carObject1 = new Car();
boolean isCar = carObject1 instanceof Car;
System.out.println("Is Car class => " + isCar);
// "carObject1" nesnesi Car tipinde olduğu için true dönecektir.

Yukarıdaki örnekte "Car" tipinden oluşturulmuş "carObject1" nesnesinin "Car" tipinde olup olmadığını kontrol ediyoruz. "carObject1" nesnesi Car tipinde olduğu için "true" dönecektir.

class Car{ ... }
class ElectricCar extends Car{ ... }
// "ElectricCar" tipinden oluşturulmuş "electricCar3" nesnesinin "Car" tipinde olup olmadığını kontrol ediyoruz.
ElectricCar electricCar1 = new ElectricCar();
boolean isBaseCar = electricCar1 instanceof Car;
System.out.println("Is Car class => " + isBaseCar);
// "electricCar1" nesnesi "ElectricCar" tipindedir. Normalde "false" dönmesi beklenir.
// Fakat, "ElectricCar" sınıfı "Car" sınıfından kalıtım aldığı için "true" döner.

"ElectricCar" tipinden oluşturulmuş "electricCar3" nesnesinin "Car" tipinde olup olmadığını kontrol ediyoruz. "electricCar3" nesnesi "ElectricCar" tipindedir. Normalde "false" dönmesi beklenir. Fakat, "ElectricCar" sınıfı "Car" sınıfından kalıtım aldığı için "true" döner.

interface Car{ ... }
class ElectricCar implements Car{ ... }
// "ElectricCar" tipinden oluşturulmuş "electricCar3" nesnesinin "Car" tipinde olup olmadığını kontrol ediyoruz.
// Bu örnekte ise electricCar2 nesnesi "Car" arayüzünü "implement" etmiş olan "ElectricCar" isimli alt sınıftan üretilmiştir.
ElectricCar electricCar2 = new ElectricCar();
boolean isElectricCar = electricCar2 instanceof Car;
System.out.println("Is ElectricCar class => " + isElectricCar);
// Ayno şekilde arayüzler ile de "ElectricCar" sınıfı "Car" implements ettiği için true dönecektir.

"ElectricCar" tipinden oluşturulmuş "electricCar2" nesnesinin "Car" tipinde olup olmadığını kontrol ediyoruz. "electricCar2" nesnesi "Car" arayüzünü "implement" etmiş olan "ElectricCar" isimli alt sınıftan üretilmiştir. Bu nedenle "true" dönecektir.