Рефлецтион је процес испитивања или модификовања понашања класе у време извођења . Јава Рефлецтион АПИ користи се за манипулисање класом и њеним члановима који укључују поља, методе, конструктор итд. током извођења. У овом чланку бисмо детаљно разумели Јава Рефлецтион АПИ.
Овај чланак ће се фокусирати на следеће смернице:
- Где се користи Јава Рефлецтион АПИ?
- Предавање у пакету јава.ланг.рефлецт
- Методе коришћене у јава.ланг.Цласс
- Како доћи до предмета класе Цласс?
- Предности и недостаци употребе Јава Рефлецтион АПИ-ја
Почнимо са овим показивачима у овом чланку о Јава Рефлецтион АПИ-ју
Где се користи Јава Рефлецтион АПИ?
Рефлецтион АПИ се углавном користи у:
- ИДЕ (Интегрисано развојно окружење) нпр. Ецлипсе, МиЕцлипсе, НетБеанс итд.
- Дебуггер
- Тест Тоолс итд.
Па шта је Цласс ин Јава ланг одражавају пакет?
Предавање у пакету јава.ланг.рефлецт?
Следи листа различитих Јава класа у јава.ланг.пацкаге за примену рефлексије-
- Поље : Ова класа се користи за прикупљање декларативних информација као што су тип података, модификатор приступа, име и вредност променљиве.
- Метод : Ова класа се користи за прикупљање декларативних информација попут модификатора приступа, типа повратка, имена, типова параметара и типа изузетака методе.
- Градитељ : Ова класа се користи за прикупљање декларативних информација попут модификатора приступа, имена и типова параметара конструктора.
- Уредити : Ова класа се користи за прикупљање информација о одређеном модификатору приступа.
Не, погледајмо Јава Рефлецтион АПИ методе,
како динамички доделити низ у јави
Методе коришћене у јава.ланг.Цласс
Метод | Опис |
јавни Стринг гетНаме () | враћа име класе |
јавна статичка класа форНаме (Низ класеНаме) баца ЦлассНотФоундЕкцептион | учитава класу и враћа референцу класе класе. |
јавни објект невИнстанце () баца ИнстантиатионЕкцептион, ИллегалАццессЕкцептион | креира нову инстанцу. |
јавни логички исИнтерфаце () | проверава да ли је интерфејс. |
јавни боолеан исАрраи () | проверава да ли је низ. |
јавни боолеан исПримитиве () | проверава да ли је примитиван. |
јавна класа гетСуперцласс () | враћа референцу класе суперкласе. |
јавно поље [] гетДецларедФиелдс () баца СецуритиЕкцептион | враћа укупан број поља ове класе. |
јавни метод [] гетДецларедМетходс () баца СецуритиЕкцептион | враћа укупан број метода ове класе. |
јавни конструктор [] гетДецларедЦонструцторс () баца СецуритиЕкцептион | враћа укупан број конструктора ове класе. |
јавна метода гетДецларедМетход (име низа, класа [] параметерТипес) баца НоСуцхМетходЕкцептион, СецуритиЕкцептион | враћа инстанцу класе методе. |
Како доћи до предмета класе Цласс?
Постоје 3 начина за добијање инстанце класе Цласс. Они су следећи:
- метода форНаме () класе Цласс
- гетЦласс () метода класе Објецт
- синтакса .класе
метода форНаме () класе Цласс
- користи се за динамичко учитавање класе.
- враћа инстанцу класе Цласс.
- Требало би га користити ако знате потпуно квалификовано име класе. Ово се не може користити за примитивне типове.
Погледајмо једноставан пример форНаме () методе.
цласс Симпле {} Тест класе {публиц статиц воид маин (Стринг аргс []) {Цласс ц = Цласс.форНаме ('Симпле') Систем.оут.принтлн (ц.гетНаме ())}}
Излаз:
Једноставно
Јава Рефлецтион: АПИ гетЦласс () метода класе Објецт
Враћа инстанцу класе класе. Требало би га користити ако знате тип. Штавише, може се користити са примитивима.
цласс Симпле {} Тест класе {воид принтНаме (Обј. обј) {Цласс ц = обј.гетЦласс () Систем.оут.принтлн (ц.гетНаме ())} публиц статиц воид маин (Стринг аргс []) {Симпле с = нев Једноставан () тест т = нови тест () т.принтНаме (с)}}
Излаз:
Једноставно
Синтакса .цласс
Ако је тип доступан, али не постоји инстанца, тада је могуће добити класу додавањем имена „.цласс“ имену типа. Може се користити и за примитивни тип података.
цласс тест {публиц статиц воид маин (Стринг аргс []) {Цласс ц = боолеан.цласс Систем.оут.принтлн (ц.гетНаме ()) Цласс ц2 = Тест.цласс Систем.оут.принтлн (ц2.гетНаме ()) }}
Излаз:
боолеан
Тест
Сада наставимо са овим чланком Јава Рефлецтион АПИ
Предности и недостаци употребе Јава Рефлецтион АПИ-ја
Предности употребе Јава Рефлецтион АПИ-ја
- Карактеристике проширивости: Апликација може да користи спољне, кориснички дефинисане класе стварањем инстанци објеката проширивости користећи њихова потпуно квалификована имена.
- Алати за отклањање грешака и тестирање : Алатке за отклањање грешака користе својство рефлексије за испитивање приватних чланова у настави.
Мане употребе Јава Рефлецтион АПИ-ја
- Режијски учинак: Рефлективне операције имају спорије перформансе од својих нерефлектујућих колега и треба их избегавати у одељцима кода који се често називају у апликацијама осетљивим на перформансе.
- Изложеност унутрашњости: Рефлектирајући код разбија апстракције и стога може променити понашање са надоградњама платформе.
Тако смо дошли до краја овог чланка о „Јава Рефлецтион АПИ“. Ако желите да сазнате више,погледајте Едурека, поуздана компанија за учење на мрежи. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА осмишљен је тако да вас оспособи за основне и напредне Јава концепте заједно са разним Јава оквирима попут Хибернате & Спринг.
Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог чланка и јавићемо вам се што је пре могуће.