Тхе 'ово' и ' супер' кључне речи су резервисане речи које се користе у другом контексту. Осим тога, Јава такође нуди ово() и супер() конструктори који се користе у контексту конструктора. У овом одељку ћемо разговарати о разлике између ове и супер кључне речи и тхис() и супер() конструктор, у Јави.
супер кључна реч и супер() конструктор
супер Кључна реч
Резервисана кључна реч која се користи за позивање методе или променљиве основне класе позната је као а супер кључна реч. Не можемо користити супер кључна реч као ан идентификатор . Кључна реч супер се не користи само за упућивање на инстанцу основне класе, већ и за статичке чланове.
ручно тестирање
супер() конструктор
Тхе супер() се углавном користи за позивање функција члана основне класе и конструктора.
Узмимо пример оба супер кључна реч и супер() да разумеју како раде.
СуперЕкампле1.јава
// import required classes and packages package javaTpoint.MicrosoftJava; // create Animal class which is base class of Animal class Animal{ // data member of Animal class String color = 'white'; } // create child class of Animal class Cat extends Animal{ //default constructor Cat() { // data members of the Cat class String color = 'Brown'; System.out.println('The cat is of color '+super.color); // calling parent class data member System.out.println('The cat is of color '+color); } } // create child class for Car class SuperExample1 extendsCat { // default constructor SuperExample1() { // calling base class constructor super(); System.out.println('The eyes of the cat is blue.'); } // main() method start publicstaticvoid main(String[] args) { // call default constructor of the SuperExample1 new SuperExample1(); System.out.println('Inside Main'); } }
Излаз:
када почиње к2
У методи маин() смо направили изјаву нови суперпример1() . Позива конструктора СуперЕкампле1 класа.
Унутар конструктора смо дали изјаву супер() који позива конструктор своје родитељске класе, тј. Цат. У конструктору смо направили три изјаве:
- Иницијализујте боју вредношћу 'браон'.
- Одштампај члана података родитељске класе.
- Одштампајте тренутни члан података класе.
Када се изврши друга наредба, ток програма скаче на класу Анимал да би приступио вредности својих чланова података. Након приступа, ток се враћа у Цат конструктор класе и штампа га. После тога, последња наредба извршава и исписује вредност променљивих тренутне класе.
јава улазни стринг
Након извршења последње изјаве Цат класе, ток се враћа конструктору класе СуперЕкампле1 и извршава преостале наредбе.
Након завршетка извршења СуперПример1() , ток се враћа на маин() метод и извршава преостале наредбе.
Напомена: Да бисмо користили супер(), морамо се побринути да то буде прва изјава у конструктору класе. Можемо га користити за упућивање само на конструктор родитељске класе.
тхис кључна реч и тхис() конструктор
ову кључну реч
То је резервисана кључна реч у Јави која се користи за упућивање на тренутни објекат класе. То је референтна променљива преко које се позива метода. Друге употребе ове кључне речи су:
- Можемо га користити за упућивање тренутне променљиве инстанце класе.
- Можемо га користити да позовемо метод тренутне класе (имплицитно).
- Можемо га проследити као аргумент у позивима метода и конструктора.
- Можемо га користити и за враћање тренутне инстанце класе из методе.
тхис() конструктор
Конструктор се користи за позивање једног конструктора из другог из исте класе. Узмимо пример и једног и другог ово кључна реч и ово() да разумеју како раде.
10 од 40
ТхисЕкампле1.јава
// import required classes and packages package javaTpoint.MicrosoftJava; // create ThisExample1 class to understand the working of this() and this class ThisExample1 { // initialize instance and static variable int x = 5; staticinty = 10; // default constructor of class ThisExample1 ThisExample1() { // invoking current class constructor this(5); System.out.println('We are insie of the default constructor.'); System.out.println('The value of x = '+x); } ThisExample1(int x) { this.x = x; // override value of the current class instance variable System.out.println('We are inside of the parameterized constructor.'); System.out.println('The value of y = '+y); } publicstaticvoid main(String[] args) { // invoking constructor of the current class new ThisExample1(); System.out.println('Inside Main'); } }
Излаз:
Разлика између ове и супер кључне речи
Следећа табела описује кључну разлику између овог и супер:
ово | супер |
---|---|
Тренутна инстанца класе је представљена овом кључном речи. | Тренутна инстанца родитељске класе је представљена кључном речи супер. |
Да бисмо позвали подразумевани конструктор тренутне класе, можемо користити ову кључну реч. | Да бисмо позвали подразумевани конструктор родитељске класе, можемо користити кључну реч супер. |
На њега се може позвати из статичког контекста. То значи да се може позвати из статичког контекста. | На то се не може говорити из статичког контекста. То значи да се не може позвати из статичког контекста. |
Можемо га користити за приступ само тренутним члановима података класе и функцијама чланова. | Можемо га користити за приступ члановима података и функцијама чланова родитељске класе. |
Разлика између овог() и супер() конструктора
ово() | супер() |
---|---|
Конструктор тхис() се односи на тренутни објекат класе. | Супер() конструктор упућује на непосредни објекат родитељске класе. |
Користи се за позивање методе тренутне класе. | Користи се за позивање метода родитељске класе. |
Може се користити било где у параметризованом конструктору. | То је увек прва линија у конструктору класе деце. |
Користи се за позивање верзије супер-класе надређеног метода. | Користи се за позивање верзије супер-класе надређеног метода. |