java this keyword tutorial with code examples
Овај водич детаљно објашњава посебну кључну реч „ово“ на Јави са једноставним примерима кода. Обухвата како, када и где користити „ову“ кључну реч:
У овом упутству представили смо један од важних концепата у Јави - кључна реч ‘тхис’. Истражићемо детаље кључне речи „тхис“ и такође ћемо представити неке примере њене употребе у Јави.
Кључна реч „ово“ у Јави је референтна променљива. Референтна променљива „тхис“ указује на тренутни објекат у програму Јава . Дакле, ако желите да приступите било ком члану или функцији тренутног објекта, онда то можете да учините помоћу референце „тхис“.
Шта ћете научити:
Јава „ово“ Увод
Референца „ово“ се обично назива „овај показивач“ јер указује на тренутни објекат. „Овај показивач“ је користан када постоји неко име за атрибуте и параметре класе. Када се појави таква ситуација, „овај показивач“ уклања забуну јер параметрима можемо приступити помоћу показивача „овај“.
У овом упутству ћемо разговарати о употреби показивача „овај“ у различитим ситуацијама, заједно са примерима.
Када користити „ово“ у Јави?
У Јави израз „ово“ има следеће употребе:
- Референца „ово“ се користи за приступ променљивој инстанце класе.
- Можете чак и ово проследити као аргумент у позиву методе.
- „Ово“ се такође може користити за имплицитно позивање тренутне методе класе.
- Ако желите да вратите тренутни објекат из методе, користите „ово“.
- Ако желите да позовете тренутни конструктор класе, може се користити „ово“.
- Конструктор такође може да користи „ово“ као аргумент.
Погледајмо сада сваку од ових употреба одвојено.
Приступите променљивој инстанце помоћу „ово“
Променљиве инстанце параметара класе и методе могу имати исто име. Показивач „овај“ може се користити за уклањање двосмислености која произилази из овога.
Јава програм у наставку показује како се „ово“ може користити за приступ променљивим инстанце.
class this_Test { int val1; int val2; // Parameterized constructor this_Test(int val1, int val2) { this.val1 = val1 + val1; this.val2 = val2 + val2; } void display() { System.out.println('Value val1 = ' + val1 + ' Value val2 = ' + val2); } } class Main{ public static void main(String() args) { this_Test object = new this_Test(5,10); object.display(); } }
Излаз:
У горњем програму можете видети да променљиве инстанце и параметри методе деле иста имена. Користимо показивач „тхис“ са променљивим инстанце да бисмо разликовали променљиве инстанце и параметре методе.
„Ово“ је прошло као параметар методе
Овај показивач такође можете проследити као параметар методе. Прослеђивање овог показивача као параметра методе обично је потребно када се бавите догађајима. На пример, претпоставимо да желите да покренете неки догађај на тренутном објекту / обради, онда га требате покренути помоћу овог показивача.
Доље је дат програмски приказ у коме смо проследили овај показивач на методу.
class Test_method { int val1; int val2; Test_method() { val1 = 10; val2 = 20; } void printVal(Test_method obj) { System.out.println('val1 = ' + obj.val1 + ' val2 = ' + obj.val2); } void get() { printVal(this); } } class Main{ public static void main(String() args) { Test_method object = new Test_method(); object.get(); } }
Излаз:
У овом програму креирамо објекат класе Тест_метход у главној функцији, а затим позивамо методу гет () са овим објектом. Унутар методе гет (), показивач ‘овај’ се преноси на методу принтВал () која приказује тренутне променљиве инстанце.
Позовите тренутну методу класе са „ово“
Као што методу можете проследити показивач ‘тхис’, тако можете користити и овај показивач за позивање методе. Ако уопште заборавите да укључите овај показивач док позивате метод тренутне класе, онда га преводилац додаје за вас.
Пример позивања методе класе са „ово“ је дат у наставку.
class Test_this { void print() { // calling fuctionshow() this.show(); System.out.println('Test_this:: print'); } void show() { System.out.println('Test_this::show'); } } class Main{ public static void main(String args()) { Test_this t1 = new Test_this(); t1.print(); } }
Излаз:
У овом програму метода класе принт () позива методу схов () помоћу овог показивача када је објект класе позива у главној функцији.
Врати се са „овим“
Ако је повратни тип методе објекат тренутне класе, тада можете погодно вратити показивач ‘тхис’. Другим речима, тренутни објекат можете вратити из методе помоћу показивача „тхис“.
Доље је дата имплементација враћања објекта помоћу показивача „тхис“.
иоутубе то вав цонвертер бесплатно преузимање
class Test_this { int val_a; int val_b; //Default constructor Test_this() { val_a = 10; val_b = 20; } Test_this get() { return this; } void display() { System.out.println('val_a = ' + val_a + ' val_b = ' + val_b); } } class Main{ public static void main(String() args) { Test_this object = new Test_this(); object.get().display(); } }
Излаз:
Горњи програм приказује методу гет () која враћа ово што је објекат класе Тест_тхис. Користећи тренутни објекат враћен методом гет (), заузврат се позива приказ методе.
Користећи „ово“ за позивање конструктора тренутне класе
Такође можете користити показивач ‘тхис’ да бисте позвали конструктор тренутног цла.сс. Основна идеја је поновна употреба конструктора. Опет, ако у својој класи имате више конструктора, можете их позвати један од другог што ће резултирати уланчавањем конструктора.
Размотрите следећи Јава програм.
class This_construct { int val1; int val2; //Default constructor This_construct() { this(10, 20); System.out.println('Default constructor
'); } //Parameterized constructor This_construct(int val1, int val2) { this.val1 = val1; this.val2 = val2; System.out.println('Parameterized constructor'); } } class Main{ public static void main(String() args) { This_construct object = new This_construct(); } }
Излаз:
У горњем програму имамо два конструктора у класи. Други конструктор зовемо помоћу показивача ‘тхис’, из подразумеваног конструктора класе.
Користећи „ово“ као аргумент конструктору
Такође можете проследити показивач ‘тхис’ као аргумент конструктору. Ово је корисније када имате више класа као што је приказано у следећој имплементацији.
class Static_A { Static_B obj; Static_A(Static_B obj) { this.obj = obj; obj.display(); } } class Static_B { int x = 10; Static_B() { Static_A obj = new Static_A(this); } void display() { System.out.println('B::x = ' + x); } } class Main{ public static void main(String() args) { Static_B obj = new Static_B(); } }
Излаз:
Као што је приказано у горњој имплементацији, имамо две класе и сваки конструктор класе позива конструктор друге класе. У ову сврху се користи показивач „тхис“.
Често постављана питања
П # 1) Која је разлика између овога и овог () у Јави?
Одговор: У Јави се ово односи на тренутни објекат, док се ово () односи на конструктор са подударним параметрима. Кључна реч „ово“ ради само са објектима. Позив „тхис ()“ користи се за позивање више конструктора из исте класе.
П # 2) Да ли је ова кључна реч неопходна у Јави?
Одговор: Потребно је посебно када требате пренијети тренутни објект из једне методе у другу, или између конструктора, или једноставно користити тренутни објект за друге операције.
П # 3) Која је разлика између тхис () и супер () у Јави?
Одговор: И ово () и супер () су кључне речи у Јави. Иако ово () представља конструктор тренутног објекта са подударним параметрима, супер () представља конструктор родитељске класе.
П # 4) Можете ли користити и тхис () и супер () у конструктору?
Одговор: Да, можете га користити. Конструктор тхис () указаће на тренутни конструктор, док ће супер () показати на конструктор родитељске класе. Запамтите да би и ово () и супер () требало да буду прва изјава.
Закључак
Кључна реч „ово“ је референца на тренутни објекат у програму Јава. Може се користити за избегавање забуне која произлази из истих назива променљивих класе (променљиве инстанце) и параметара методе.
Показивач 'тхис' можете користити на много начина, попут приступа променљивим инстанце, прослеђивања аргумената методи или конструктору, враћања објекта итд. Показивач 'тхис' је важна кључна реч у Јави и корисна је карактеристика за приступ тренутном објекту и његови чланови и функције.
Надамо се да сте пратили употребу кључне речи ‘тхис’ у Јави из овог водича.
Препоручено читање
- Водич за ЈАВА за почетнике: 100+ практичних Јава видео водича
- Водич за Јава рефлексију са примерима
- Водич за руковање изузецима за Ц # са примерима кода
- Водич за Питхон ДатеТиме са примерима
- Водич за функције # методе и методе са примерима кода
- Јава СВИНГ лекције: Контејнери, компоненте и руковање догађајима
- Водич за Јава Цоллецтионс Фрамеворк (ЈЦФ)
- Јава интерфејс и лекција са апстрактним часовима са примерима