Різниця між цим і супер на Java

Ключова різниця - це проти супер на Java
 

Ключові слова "це" і "супер" використовуються в програмуванні Java. Ці ключові слова не можна використовувати як змінні чи будь-яке інше ім'я ідентифікатора. Java підтримує об'єктно-орієнтоване програмування (OOP). Програму або програмне забезпечення можна моделювати за допомогою об'єктів. Об'єкти ненасичують за допомогою класів. Один стовп ООП - це спадщина. Він забезпечує повторне використання коду. Класи, які вже існують, - це суперкласи, а похідні класи - підкласи. Ключове слово супер може використовуватися для позначення об'єкта надкласу. У системі є кілька об'єктів. Ключове слово "це" використовується для позначення поточного об'єкта. The ключова різниця між цим і супер є "це 'посилальна змінна, яка використовується для позначення поточного об'єкта в той час як "super" - це посилальна змінна, яка використовується для позначення безпосереднього об'єкта надкласового класу. 

ЗМІСТ

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

Що це на Java?

Ключове слово "це" використовується для позначення поточного об'єкта. Зверніться до даної програми Java.

Рисунок 01: Програма Java з використанням цього ключового слова

У Java є три типи змінних. Вони є змінними екземпляра, локальними змінними та змінними класу. Згідно з вищезазначеною програмою, співробітник класу має дві змінні екземпляри. Вони ідентифікатор та ім’я. Локальні змінні - це змінні належать до методів. Змінні класу поділяються всіма об'єктами. Ідентифікатор та ім’я передаються конструктору Співробітник. Якщо програміст записує id = id; він не ініціалізує змінні екземпляра, оскільки у конструктора вже є ідентифікатор та ім'я. Немає значень, наприклад, змінних. Отже, друк їх відображатиметься на нулі. Використовуючи це, він посилається на поточний об'єкт. Отже, надання id та імені конструктору може встановлювати змінні екземпляра.

Ключове слово "це" можна використовувати для виклику поточного методу класу. Зверніться до даної програми java.

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

public static void main (String [] args)

Myclass myClass = новий Myclass ();

myClass.B ();

клас Myclass

публічна недійсність A ()

System.out.println ("A");

публічна недійсність B ()

System.out.prinltn ("B");

це();

Клас Myclass містить два методи. Вони є методами A і B. При створенні об'єкта Myclass і виклику методу B буде надруковано B, A як вихід. У способі B після друку B є твердження як this.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 ("A");

публічний клас B поширюється на A

публічне недійсне відображення ()

System.out.println ("B");

Під час створення об'єкта типу B і виклику відображення методу він дасть вихід B. Клас A має метод відображення, але його перекриває метод відображення підкласу B. Якщо програміст хоче викликати метод відображення в класі А, то він може використовувати ключове слово супер. Зверніться до даної програми 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 поширюється на A

B ()

супер ();

System.out.println ("B");

Відповідно до вищезгаданої програми, клас A має конструктор A (). Клас В має конструктор B (). Клас B поширює клас А. Під час створення об'єкта типу B він буде друкувати A, B як вихід. Конструктор B () має супер (). Тому спочатку викликається конструктор A, а потім переходить до B. Навіть якщо Super () не записаний, за замовчуванням називається батьківський конструктор.

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

Малюнок 03: Програма Java, яка викликає метод суперкласу

Відповідно до програми, клас A має метод відображення. Клас B також має метод відображення. Клас B поширюється A. Під час створення об'єкта типу B і виклику методу відображення буде виводитися як A і B. У методі відображення класу B метод відображення класу A називається за допомогою super.display (). Цей метод спочатку надрукує "A". Потім друкує “B”.

Яка схожість між цим і супер?

  • Обидва є ключовими словами в програмуванні Java.

Яка різниця між цим і супер?

Це проти Супер

"Це" - це посилальна змінна, яка використовується для позначення поточного об'єкта. "Супер" - це еталонна змінна, яка використовується для позначення безпосереднього об'єкта надкласового класу.
 Змінна інстанція
Використовуючи це, можна посилатись на змінну екземпляра поточного класу. Змінна екземпляра суперкласу може бути передана за допомогою super.
Метод класу
Метод поточного класу можна викликати за допомогою цього. Метод суперкласу можна викликати за допомогою super.
 Конструктор
Поточний конструктор класу може бути викликаний за допомогою цього (). Конструктор суперкласового виклику можна викликати, використовуючи super ().

Підсумок - це проти супер на Java

Ключові слова "це" і "супер" використовуються в Java. Ключові слова не можна використовувати як змінні або будь-яке інше ім'я ідентифікатора. Вони здаються однаковими, але вони мають різницю. Різниця між цим і супер полягає в тому, що super є еталонною змінною, яка використовується для посилання на безпосередній об'єкт суперкласу, тоді як це еталонна змінна, яка посилається на поточний об'єкт.

Завантажте PDF-файл цього vs super на Java

Ви можете завантажити PDF-версію цієї статті та використовувати її в офлайн-цілях відповідно до примітки. Завантажте PDF-версію тут: Різниця між цим та супер на Java

Довідка:

1.Це () та супер ключове слово в java та його мета з коротким прикладом, знання Atoz, 31 січня 2015 року. Доступне тут 
2. "Це ключове слово у java - java point". Доступний тут  
3.tutorialspoint.com. «Спадщина Java». Точка, доступна тут