Разлика между това и супер в Java

Ключова разлика - това срещу супер в Java
 

Ключовите думи „това“ и „супер“ се използват в Java програмирането. Тези ключови думи не могат да се използват като променливи или друго име на идентификатор. Java поддържа обектно-ориентирано програмиране (OOP). Програмата или софтуерът могат да бъдат моделирани с помощта на обекти. Обектите са ненаситни с помощта на класове. Един стълб на ООП е наследството. Той осигурява повторно използване на кода. Класовете, които вече съществуват, са суперкласове, а получените класове са подкласове. Супер ключовата дума може да се използва за препращане на обект от суперклас. В системата има няколко обекта. Ключовата дума „това“ се използва за обозначаване на текущ обект. Най- ключова разлика между това и супер е „това 'е референтна променлива, която се използва за препращане на текущия обект докато 'super' е референтна променлива, която се използва за препращане на непосредствен обект на суперклас. 

СЪДЪРЖАНИЕ

1. Преглед и ключова разлика
2. Какво е това в Java
3. Какво е супер в Java
4. Прилики между това и супер в Java
5. Паралелно сравнение - това спрямо супер в Java в таблична форма
6. Резюме

Какво е това в Java?

Ключовата дума „това“ се използва за обозначаване на текущ обект. Обърнете се към дадената Java програма.

Фигура 01: Java програма, използваща тази ключова дума

В Java има три типа променливи. Те са променливи инстанции, локални и класови променливи. Според горната програма, Служителят на класа има две променливи на инстанция. Те са id и име. Локалните променливи са променливите принадлежат на методи. Класните променливи се споделят от всички обекти. Идентификационният номер и името се предават на конструктора на Служителя. Ако програмистът напише id = id; няма да инициализира променливите на екземпляра, защото Конструкторът вече има идентификатор и име. Няма стойности например променливи. Така че при отпечатването им ще се покаже нула. Когато използвате това, се отнася до текущия обект. Следователно, даването на id и име на конструктора може да зададе променливите на инстанцията.

Ключовата дума „това“ може да се използва за извикване на метода на текущия клас. Обърнете се към дадената програма java.

публична класа ThisDemo

public static void main (String [] args)

Myclass myClass = нов Myclass ();

myClass.B ();

клас Myclass

публична невалида A ()

System.out.println ( "А");

публична невалида B ()

System.out.prinltn ( "В");

това е();

Класът Myclass съдържа два метода. Те са метод A и B. При създаване на обект на Myclass и извикване на метод B ще отпечата B, A като изход. В метод B, след отпечатване на B има изявление като това.A (). Използвайки това, методът на текущия клас беше извикан.

Възможно е също да използвате тази ключова дума, за да извикате конструктора на текущия клас. Обърнете се към дадената програма.

публична класа ThisDemo

public static void main (String [] args)

A obj = нов A (5);

клас А

публично A ()

System.out.println („Конструктор A“);

публичен A (int x)

това();

System.out.println („Параметризиран конструктор A“);

Според горната програма, клас A има конструктор по подразбиране и конструктиран параметър. При създаване на обект от A се извиква параметризираният конструктор. В параметризирания конструктор има оператор като този (); Той ще извика конструктора на текущия клас, който е A ().

Какво е супер в Java?

Ключовата дума „супер“ е свързана с наследяването. Наследяването е основна концепция на обектно-ориентираното програмиране. Той позволява използването на свойствата и методите на вече съществуващия клас към нов клас. Вече съществуващият клас е известен като родителски клас или суперклас. Новият клас е известен като детски клас или подклас.

'Супер' е референтна променлива, която се използва за препращане към непосредствения обект от родителски клас. Супер ключовата дума може да се позовава на променлива екземпляр на екземпляра на клас родител или да извика метода на непосредствен родител. Super () се използва за извикване на конструктор на незабавен родителски клас.

Да приемем, че има два класа като A и B. Клас A е суперклас, а клас B е подклас. И двата клас A, B имат метод на показване.

публична класа A

публичен невалиден дисплей ()

System.out.println ( "А");

публичен клас B разширява A

публичен невалиден дисплей ()

System.out.println ( "В");

При създаване на обект от тип B и извикване на дисплея на метода, той ще даде изход B. Класът A има метод на показване, но той се отменя от метода на дисплея на подклас B. Ако програмистът иска да извика метода на показване в клас A, тогава той може да използва ключовата дума супер. Обърнете се към дадената Java програма.

Фигура 02: Java програма, използваща супер ключова дума

Съгласно горната програма, клас A има променлива име с число 10. Клас B разширява A и има променлива име с число 20. Като цяло при създаване на обект от тип B и извикване на метода на показване трябва да се даде числото в подклас, тъй като стойността на суперклас се заменя от новия клас. С помощта на super.num се отпечатва стойността на числото на суперклас.

Super () може да се използва за извикване на конструктора на суперклас. Вижте по-долу програмата.

обществена класа Main

public static void main (String [] args)

B obj = нов B ();

клас А

А ()

System.out.println ( "А");

клас Б удължава A

B ()

супер ();

System.out.println ( "В");

Според горната програма, клас A има конструктор A (). Клас В има конструктора B (). Клас B разширява клас А. При създаване на обект от тип B той ще отпечата A, B като изход. Конструкторът B () има супер (). Следователно, първо A конструктора се извиква и след това преминава към B. Въпреки че super () не е написано, по подразбиране родителският конструктор се нарича.

Супер използването на метода е както следва.

Фигура 03: Java програма, която извиква метода на суперклас

Според горната програма, клас A има метод на показване. Клас Б също има метод на показване. Клас В се разширява A. При създаване на обект от тип В и извикването на метода на показване ще даде изход като A и B. В метод на показване на клас B методът на показване на клас A се нарича използване на super.display (). Този метод отпечатва първо „A“. След това отпечатва “B”.

Какво е сходството между това и супер?

  • И двете са ключови думи в Java програмирането.

Каква е разликата между това и супер?

Това срещу Супер

'Това' е референтна променлива, която се използва за препращане на текущия обект. 'Супер' е референтна променлива, която се използва за препращане на непосредствен обект на суперклас.
 Променлива за инстанция
Използва се тази променлива за екземпляр на текущ клас. Променливата на екземпляра на суперклас може да бъде отнесена с помощта на super.
Метод на класа
Методът на текущия клас може да бъде извикан чрез това. Методът на суперклас може да бъде извикан с помощта на супер.
 конструктор
Текущият конструктор на класове може да бъде извикан с помощта на this (). Конструкторът на суперклас може да бъде извикан с помощта на super ().

Обобщение - това срещу супер в Java

Ключовите думи „това“ и „супер“ се използват в Java. Ключовите думи не могат да се използват като променливи или друго име на идентификатор. Изглежда са еднакви, но имат разлика. Разликата между това и супер е, че super е референтна променлива, която се използва за препращане на непосредствен обект на суперклас, докато това е референтна променлива, която се отнася за текущия обект.

Изтеглете PDF на този vs super в Java

Можете да изтеглите PDF версия на тази статия и да я използвате за офлайн цели, съгласно цитираната бележка. Моля, изтеглете PDF версията тук: Разлика между това и супер в Java

справка:

1.Това () и супер ключова дума в java и нейната цел с кратък пример, знания на Atoz, 31 януари 2015 г. Достъпно тук 
2. „Тази ключова дума в java - java point.“ Налични тук  
3.tutorialspoint.com. „Наследяване на Java.“ Точката, налична тук