Како имплементирати ИнстанцеОф у ЈАВА?



Овај чланак о ИнстанцеОф на Јави упознаће вас са Јава инстанцОф Оператор-ом и пратиће га практичним демонстрацијама.

ИнстанцеОф Ин је оператор који се користи за проверу типа објекта. Другим речима, тестира се да ли је објекат инстанца одређене класе или интерфејс. Резултат такве операције је било Истина или Нетачно

Следећи смерници ће бити обрађени у овом чланку,





Настављамо са овим чланком о инстанцеОф у Јави.

Овај оператор је познат и као тип оператор упоређивања , јер се инстанца упоређује са типом.



Синтакса:

(објект) инстанцеоф (врста)

Пример оператора инстанцеОф можете видети испод:

јавна класа Маин {јавна статичка воид главна (Стринг [] аргс) {Маин с = нев Маин () Систем.оут.принтлн (с инстанцеоф Маин)}}

Оутпут



истина

У примеру, излаз враћен кориснику је истина , тј. „ с ”Је инстанца класе Маин.

Пример

Објекат подкласе типа је такође тип родитељске класе.

У следећем примеру, Роцк проширује Мусиц. Предмет Рок може се упутити било на рок или на класу музике.

мешање података табеле не ради
цласс Мусиц {} цласс Роцк проширује Мусиц {// Роцк наслеђује Мусиц публиц статиц воид маин (Стринг аргс []) {Роцк р = нев Роцк () Систем.оут.принтлн (р инстанцеоф Роцк)}}

Оутпут

истина

Настављамо са овим чланком о инстанцеОф у Јави.

Коришћење променљиве са нулл вредношћу

цласс Мусиц {публиц статиц воид маин (Стринг аргс []) {Мусиц м = нулл Систем.оут.принтлн (м инстанцеоф Мусиц) // фалсе}}

У примеру наведеном горе, дефинисана променљива има нулу вредност.

различите врсте оквира у селену

Дакле, враћени излаз је нетачан.

Оутпут

лажно

Следећа тачка мора бити забележена током коришћења инстанцеОф оператора:

Настављамо са овим чланком о инстанцеОф у Јави.

Надређени објекат није инстанца детета

цласс Парент {} цласс Цхилд продужује Парент {} цласс Маин {публиц статиц воид маин (Стринг [] аргс) {Парент п = нев Парент () иф (п инстанцеоф Цхилд) Систем.оут.принтлн ('п је пример Цхилд ') елсе Систем.оут.принтлн (' п није инстанца детета ')}}

Оутпут

П није пример детета

Настављамо са овим чланком о инстанцеОф у Јави.

Довнц астинг

Када се подкласа позива на објекат класе Родитељ, метода је позната као спуштање.

Након директног извођења довнцастинг-а, компајлер враћа грешку компилације.

Роцк р = нова музика () // грешка у компилацији

Када се користи слање типова, ЦлассЦастЕкцептион се баца током извршавања.

Роцк р = (Роцк) нова музика () // компилација успешна, али ЦлассЦастЕкцептион је бачен

Једини начин на који је могуће спуштање унапред је коришћење инстанцеоф оператора.

цласс Мусиц {} цласс Роцк продужује Мусиц {статиц воид метход (Мусиц м) {иф (м инстанцеоф Роцк) {Роцк р = (Роцк) м // довнцастинг Систем.оут.принтлн ('Довнцастинг Суццессфул')}} јавна статичка празнина маин (Стринг [] аргс) {Мусиц м = нев Роцк () Роцк.метход (м)}}

Оутпут

Довнцастинг је успешан

Настављамо са овим чланком о инстанцеОф у Јави.

шта је овај оператер у јави

Разумевање инстанцеОф:

Метода инстанцеОф може се експлицитније разумети на следећим примерима:

Овај пример користи употребу интерфејса:

инстанца интерфејса {} класа С имплементира инстанцу {јавна празнина с () {Систем.оут.принтлн ('Прва метода')}} класа Т примењује инстанцу {јавна празнина т () {Систем.оут.принтлн ('Друга метода') }} цласс Инвоке {воид инвоке (Инстанце и) {// упцастинг иф (и инстанцеоф С) {С с = (С) и // Довнцастинг сс ()} иф (и инстанцеоф Т) {Т т = (Т) и // Довнцастинг тт ()}}} класа Маин {јавна статичка воид главна (Стринг аргс []) {Инстанце и = нев Т () Инвоке в = нев Инвоке () в.инвоке (и)}}

Резултат примера је следећи:
Друга метода

Овај пример прецизно демонстрира овај концепт. Овде је родитељски разред Инструмент, а два одељења су гитара и клавир:

цласс Инструмент {} цласс Гуитар ектендс Инструмент {} цласс Пиано ектендс Инструмент {} цласс Маин {публиц статиц воид маин (Стринг [] аргс) {Инструмент и = нови инструмент () Гитара г = нова гитара () Клавир п = нови клавир ( ) Систем.оут.принтлн (г инстанцеоф Инструмент) Систем.оут.принтлн (п инстанцеоф Инструмент) Систем.оут.принтлн (и инстанцеоф Гуитар) Систем.оут.принтлн (и инстанцеоф Пиано) и = г Систем.оут.принтлн ( и инстанцеоф Гуитар) Систем.оут.принтлн (и инстанцеоф Пиано) и = п Систем.оут.принтлн (и инстанцеоф Гуитар) Систем.оут.принтлн (и инстанцеоф Пиано)}}

Излаз је следећи:

истина

истина

лажно

лажно

истина

лажно

лажно

истина

Тако се ефикасно проналази врста предмета. Оператор инстанцеОф показао се врло корисним, с обзиром на то да се методе извршавају на одговарајући начин.

Тако смо дошли до краја овог чланка о „инстанцеОф у Јави“. Ако желите да сазнате више, погледајте Јава Траининг од Едуреке, поуздане компаније за учење на мрежи. је дизајниран да вас оспособи за основне и напредне Јава концепте заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога и јавићемо вам се што је пре могуће.