CodeGym /Курсове /Java Core /инстанция на оператор

инстанция на оператор

Java Core
Ниво, Урок
На разположение

"Здравей, Амиго! Вече се запознахте с оператора instanceof . Днес ще ви кажа How и къде може да се използва. instanceof е много прост и ефективен оператор."

„Това звучи като реклама!“

„Наистина е много просто. Използва се така: «обект» екземпляр на «клас» .»

Той проверява дали даден обект е екземпляр от определен клас. По-лесно е, отколкото да го обясниш. Вижте този пример:

Код Описание
Object o = new Integer(3);
boolean isInt = o instanceof Integer;
isInt ще бъде вярно . Обектът, към който се отнася променливата o, е екземпляр на класа Integer .
Object o = "Mama";
boolean isInt = o instanceof Integer;
isInt ще бъде невярно . Обектът, към който се отнася променливата o, не е екземпляр на класа Integer . Това е String обект.
InputStream is = new FileInputStream("");
boolean isFIS = is instanceof FileInputStream;
isFIS ще бъде вярно . Обектът, към който се отнася променливата o, е екземпляр на класа FileInputStream .

— Да, това е много просто.

„Този ​​оператор отчита и наследяването. Вижте го.“

Код Описание
class Animal
{
}
class Cat extends Animal
{
}
class Tiger extends Cat
{
}
Тук имаме три декларации за клас: Animal, Cat и Tiger. Котката наследява Животното. И Тигър наследява Котка.
Object o = new Tiger();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat  ще бъде  вярно .
isTiger  ще бъде  вярно .
isAnimal  ще бъде  вярно .
Object o = new Animal();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat  ще бъде невярно .
isTiger  ще бъде  false .
isAnimal  ще бъде  вярно .

И дори интерфейси:

Код Описание
interface Moveable
{
}
class Cat
{
}
class TomCat extends Cat implements Moveable
{
}
Създайте два класа: Cat, TomCat и интерфейса Moveable
Cat o = new TomCat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat  ще бъде  вярно .
isMoveable  ще бъде  true .
isTom  ще бъде  вярно .
Cat o = new Cat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat  ще бъде  вярно .
isMoveable  ще бъде  невярно .
isTom  ще бъде  false .

Операторът instanceof изглежда така : instanceof B .

С други думи, операторът instanceof ще върне true , ако:

1) променлива a съхранява препратка към обект от тип B

2)  променлива a съхранява препратка към обект, чийто клас наследява  B

3)  променлива a съхранява препратка към обект, който имплементира интерфейс  B

В противен случай операторът instanceof ще върне false .

„Разбрах. Тогава защо е необходимо това, чичо Риши?“

„Ели ще ви разкаже за това днес. Това е наистина добър оператор. Ще се убедите в това днес.“

4
Задача
Java Core, ниво, урок
Заключено
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and assimilate some material. What's more, you combat laziness.
Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION