logo

Разлика између овог и супер у Јави

Тхе 'ово' и ' супер' кључне речи су резервисане речи које се користе у другом контексту. Осим тога, Јава такође нуди ово() и супер() конструктори који се користе у контексту конструктора. У овом одељку ћемо разговарати о разлике између ове и супер кључне речи и тхис() и супер() конструктор, у Јави.

супер кључна реч и супер() конструктор

супер Кључна реч

Резервисана кључна реч која се користи за позивање методе или променљиве основне класе позната је као а супер кључна реч. Не можемо користити супер кључна реч као ан идентификатор . Кључна реч супер се не користи само за упућивање на инстанцу основне класе, већ и за статичке чланове.

ручно тестирање

супер() конструктор

Тхе супер() се углавном користи за позивање функција члана основне класе и конструктора.

Узмимо пример оба супер кључна реч и супер() да разумеју како раде.

СуперЕкампле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. Иницијализујте боју вредношћу 'браон'.
  2. Одштампај члана података родитељске класе.
  3. Одштампајте тренутни члан података класе.

Када се изврши друга наредба, ток програма скаче на класу Анимал да би приступио вредности својих чланова података. Након приступа, ток се враћа у Цат конструктор класе и штампа га. После тога, последња наредба извршава и исписује вредност променљивих тренутне класе.

јава улазни стринг

Након извршења последње изјаве Цат класе, ток се враћа конструктору класе СуперЕкампле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'); } } 

Излаз:

ово против супер у Јави

Разлика између ове и супер кључне речи

Следећа табела описује кључну разлику између овог и супер:

ово супер
Тренутна инстанца класе је представљена овом кључном речи. Тренутна инстанца родитељске класе је представљена кључном речи супер.
Да бисмо позвали подразумевани конструктор тренутне класе, можемо користити ову кључну реч. Да бисмо позвали подразумевани конструктор родитељске класе, можемо користити кључну реч супер.
На њега се може позвати из статичког контекста. То значи да се може позвати из статичког контекста. На то се не може говорити из статичког контекста. То значи да се не може позвати из статичког контекста.
Можемо га користити за приступ само тренутним члановима података класе и функцијама чланова. Можемо га користити за приступ члановима података и функцијама чланова родитељске класе.

Разлика између овог() и супер() конструктора

ово() супер()
Конструктор тхис() се односи на тренутни објекат класе. Супер() конструктор упућује на непосредни објекат родитељске класе.
Користи се за позивање методе тренутне класе. Користи се за позивање метода родитељске класе.
Може се користити било где у параметризованом конструктору. То је увек прва линија у конструктору класе деце.
Користи се за позивање верзије супер-класе надређеног метода. Користи се за позивање верзије супер-класе надређеног метода.