Разница между этим и супер в Java

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

Ключевые слова «это» и «супер» используются в программировании на Java. Эти ключевые слова не могут использоваться в качестве переменных или любого другого имени идентификатора. Java поддерживает объектно-ориентированное программирование (ООП). Программа или программное обеспечение могут быть смоделированы с использованием объектов. Объекты ненасытны с помощью классов. Одним из столпов ООП является наследование. Это обеспечивает повторное использование кода. Классы, которые уже существуют, являются суперклассами, а производные классы являются подклассами. Ключевое слово super может использоваться для ссылки на объект суперкласса. В системе несколько объектов. Ключевое слово this используется для ссылки на текущий объект. ключевое отличие между этим и супер естьthis 'является ссылочной переменной, которая используется для ссылки на текущий объект в то время как 'super' является ссылочной переменной, которая используется для непосредственного обращения к объекту суперкласса. 

СОДЕРЖАНИЕ

1. Обзор и основные отличия
2. Что это на Java
3. Что супер в Java
4. Сходство между этим и супер в Java
5. Сравнение бок о бок - это супер в Java в табличной форме
6. Резюме

Что это в Java?

Ключевое слово «this» используется для ссылки на текущий объект. Обратитесь к данной программе Java.

Рисунок 01: Java-программа, использующая это ключевое слово

В Java есть три типа переменных. Это переменные экземпляра, локальные переменные и переменные класса. Согласно вышеприведенной программе, класс Employee имеет две переменные экземпляра. Они ID и имя. Локальные переменные - это переменные, принадлежащие методам. Переменные класса являются общими для всех объектов. Идентификатор и имя передаются конструктору Employee. Если программист пишет id = id; он не будет инициализировать переменные экземпляра, потому что конструктор уже имеет идентификатор и имя. Там нет значений для переменных экземпляра. Таким образом, печать их будет отображать ноль. При использовании это относится к текущему объекту. Поэтому, давая идентификатор и имя конструктору, можно установить переменные экземпляра..

Ключевое слово 'this' может использоваться для вызова текущего метода класса. Обратитесь к данной программе Java.

открытый класс ThisDemo

public static void main (String [] args)

Myclass myClass = new Myclass ();

myClass.B ();

class Myclass

public void A ()

System.out.println ( «А»);

public void B ()

System.out.prinltn ( «В»);

это();

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

Также можно использовать это ключевое слово для вызова текущего конструктора класса. Обратитесь к данной программе.

открытый класс ThisDemo

public static void main (String [] args)

A obj = новый A (5);

класс А

public A ()

System.out.println («Конструктор А»);

public A (int x)

это();

System.out.println («Параметризованный конструктор A»);

Согласно приведенной выше программе, класс A имеет конструктор по умолчанию и параметризованный конструктор. При создании объекта A вызывается параметризованный конструктор. В параметризованном конструкторе есть оператор вроде this (); Он вызовет конструктор текущего класса, который является A ().

Что супер в Java?

Ключевое слово «super» связано с наследованием. Наследование является основной концепцией объектно-ориентированного программирования. Это позволяет использовать свойства и методы уже существующего класса для нового класса. Уже существующий класс известен как родительский класс или суперкласс. Новый класс известен как дочерний класс или подкласс.

'Super' - это ссылочная переменная, которая используется для ссылки на непосредственный родительский объект класса. Ключевое слово super может ссылаться на переменную экземпляра непосредственного родительского класса или вызывать метод непосредственного родительского класса. Super () используется для вызова непосредственного родительского конструктора класса.

Предположим, что есть два класса как A и B. Класс A является суперклассом, а класс B является подклассом. Класс A, B оба имеют метод отображения.

открытый класс A

public void display ()

System.out.println ( «А»);

общественный класс B расширяет A

public void display ()

System.out.println ( «В»);

При создании объекта типа B и вызове метода display он выдаст выходные данные B. В классе A есть метод display, но он переопределяется методом отображения подкласса B. Если программист хочет вызвать метод отображения в классе A, он может использовать ключевое слово super. Обратитесь к данной программе Java.

Рисунок 02: Java-программа, использующая ключевое слово super

В соответствии с вышеприведенной программой, класс A имеет переменную с именем number со значением 10. Класс B расширяет A и имеет переменную с именем number со значением 20. Обычно при создании объекта типа B и вызове метода отображения следует указывать число в подкласс, потому что значение суперкласса переопределяется новым классом. Используя super.num, печатается значение номера суперкласса.

Super () может использоваться для вызова конструктора суперкласса. См. Ниже программу.

открытый класс Main

public static void main (String [] args)

B obj = новый B ();

класс А

А ()

System.out.println ( «А»);

класс B расширяет A

В ()

супер();

System.out.println ( «В»);

Согласно приведенной выше программе, класс A имеет конструктор A (). Класс B имеет конструктор B (). Класс B расширяет класс A. При создании объекта типа B он выводит A, B в качестве вывода. Конструктор B () имеет супер (). Следовательно, сначала вызывается конструктор A, а затем - B. Несмотря на то, что super () не записано, по умолчанию вызывается родительский конструктор..

Супер с использованием метода заключается в следующем.

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

Согласно вышеприведенной программе, класс A имеет метод отображения. Класс B также имеет метод отображения. Класс B расширяет A. При создании объекта типа B и вызове метода отображения будет выводиться как A и B. В методе отображения класса B метод отображения класса A вызывается с помощью super.display (). Этот метод сначала печатает «А». Затем печатает «B».

В чем сходство между этим и супер?

  • Оба являются ключевыми словами в программировании на Java.

Какая разница между этим и супер?

Это против супер

This это ссылочная переменная, которая используется для ссылки на текущий объект. 'Super' - это ссылочная переменная, которая используется для ссылки на непосредственный объект суперкласса.
 Переменная экземпляра
Переменная экземпляра текущего класса может быть передана с помощью этого. Переменная экземпляра суперкласса может быть передана с использованием супер.
Метод класса
Текущий метод класса может быть вызван с помощью этого. Метод суперкласса может быть вызван с использованием супер.
 Конструктор
Текущий конструктор класса может быть вызван с помощью this (). Конструктор суперкласса может быть вызван с помощью super ().

Резюме - это против супер в Java

Ключевые слова «это» и «супер» используются в Java. Ключевые слова не могут использоваться в качестве переменных или любого другого имени идентификатора. Они кажутся одинаковыми, но у них есть разница. Разница между этим и super заключается в том, что super - это ссылочная переменная, которая используется для ссылки на непосредственный объект суперкласса, тогда как это ссылочная переменная, которая ссылается на текущий объект..

Скачать PDF этого против супер на Java

Вы можете скачать PDF версию этой статьи и использовать ее в автономном режиме, как указано в примечании. Пожалуйста, загрузите PDF версию здесь: Разница между этим и супер в Java

Ссылка:

1. Это () и ключевое слово super в java и его назначение с кратким примером, Atoz знание, 31 января 2015 года. Доступно здесь 
2. «Это ключевое слово в Java - Java-точка». Доступна здесь  
3.tutorialspoint.com. «Наследование Java» Точка, доступная здесь