Вступ до Супер ключового слова на Java
Супер - це ключове слово, яке використовується для виклику функції або методу в надкласі. Це буде визначено всередині підкласу. Методи, які є лише загальнодоступними та захищеними, можна викликати за допомогою цього ключового слова. Іншими словами, приватні методи та статичні методи не можна викликати, використовуючи це. Супер ключове слово в java також може використовуватися для виклику конструкторів батьківського класу. Синтаксис, приклади та додаткові деталі супер ключового слова будуть обговорені в наступних розділах.
Синтаксис
super.<> or super((0 or more arguments));
Як працює супер ключове слово на Java?
Як вже було сказано, супер можна використовувати в декількох випадках. Вони використовуються:
- Для посилання на змінну екземпляра безпосередньо батьківського класу.
- Звернутися до методу безпосереднього батьківського класу.
- Посилатися на конструктор безпосереднього батьківського класу.
Тепер давайте докладніше розглянемо кожну з них.
1. Звернутися до змінної інстанції класу негайних батьків
Якщо батьківський і дочірній клас мають однакові члени даних, ключове слово Super може використовуватися для доступу до поля або члена даних батьківського класу. У цьому випадку може виникнути неоднозначність для віртуальної машини Java.
Приклад:
class A (
protected String name="ann";
)
class B extends A (
public String name="Anna";
public void hello() (
System.out.println("I am " + name);
System.out.println("I am " + super.name);
)
)
Тут два класи A і B мають загальну назву поля. Функція printType () всередині дочірнього класу використовує ключове слово супер для позначення поля в батьківському класі.
2. Зазначити метод негайного батьківського класу
Переосмислення методу - це процес, за допомогою якого дочірній клас оголошує ту ж функцію або метод, які вже доступні в батьківському класі. Припустимо, якщо виклик методу відбувається від об'єкта дочірнього класу, то метод у дочірньому класі буде викликаний тільки. Для доступу до батьківського методу можна використовувати супер ключове слово.
Приклад:
class A (
protected String name="ann";
public void hello() (
System.out.println("I am " + name);
)
)
class B extends A (
public String name="Anna”;
public void hello() (
System.out.println("I am " + name);
)
public void test()
(
hello();
super.hello();
)
)
Тут два класи A і B мають однаковий метод hello (). За допомогою супер ключового слова в функції test () можна отримати доступ до методу hello () батьківського класу.
3. Зверніться до конструктора негайного батьківського класу
Вже відомо, що конструктор (за замовчуванням) автоматично викликається, коли створюється об’єкт класу. Ключове слово супер може використовуватися для явного виклику конструктора надкласу з конструктора підкласу. Переконайтеся, що супер використовується лише всередині конструктора підкласу, і це перше твердження всередині цього.
Приклад:
class A (
//constructor of parent class
A() ( System.out.println("I am Kavya Madhavan");
)
)
//child class
class B extends A (
//constructor of child class
B() (
super();
System.out.println("I am Dileep Menon"); ) )
Приклади супер ключового слова на Java
Нижче наведено різні приклади супер ключового слова на Java:
Приклад - 1
У наступній програмі загальне ім'я змінної присутнє і супер використовується для виклику змінної у батьківському класі.
//Java program to illustrate Super keyword to refer instance variable
//parent class
class A (
protected String name="ann";
)
//child classs
class B extends A (
public String name="Anna";//variable which is same in parent class
//sample method
public void hello() (
System.out.println("I am " + name);
System.out.println("I am " + super.name);
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
objb.hello();//call the method in child class
)
)
Вихід:
Приклад - 2
Ця програма допомагає демонструвати супер ключове слово, посилаючись на той самий метод у батьківському класі. Тут hello () - метод, який доступний в обох класах.
//Java program to illustrate Super keyword to refer same method in parent class
//parent class
class A (
protected String name="ann";
public void hello() (
System.out.println("I am " + name);
)
)
//child classs
class B extends A (
public String name="Anna";//variable which is same in parent class
//sample method which is same in parent class
public void hello() (
System.out.println("I am " + name);
)
//method to call the hello() method in parent and child class
public void test()
(
hello();
super.hello();
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
objb.test();//call the method in child class
) )
Вихід:
Приклад - 3
Ця програма викликає конструктор батьківського класу за допомогою ключового слова супер.
//Java program to illustrate Super keyword to refer constructor in parent class
//parent class
class A (
//constructor of parent class
A() (
System.out.println("I am Kavya Madhavan");
)
)
//child class
class B extends A (
//constructor of child class
B() (
super();
System.out.println("I am Dileep Menon");
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
)
)
Вихід:
Приклад - 4
Ця програма демонструє використання супер ключового слова для посилання на параметризований конструктор батьківського класу.
//Java program to illustrate Super keyword to refer parameterised constructor in parent class
//parent class
class A (
//constructor of parent class
A() (
System.out.println("I am Kavya Madhavan");
)
//parameterised constructor
A(String name) (
System.out.println("I am " + name);
)
)
//child class
class B extends A (
//constructor of child class
B() (
super("Renuka");
System.out.println("I am Dileep Menon");
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
)
)
Вихід:
Висновок
Super - це ключове слово на Java, яке використовується для позначення методів чи функцій, змінних екземплярів або атрибутів та конструкторів у батьківському класі. Якщо конструктор не оголошено, компілятор автоматично створює конструктор за замовчуванням. Аналогічно, компілятор викликає Super () автоматично, якщо він не оголошений. У цьому документі детально пояснено кілька аспектів ключового слова супер.
Рекомендовані статті
Це посібник із Супер ключового слова на Java. Тут ми обговорюємо, як працює ключове слово доза супер у Java разом із прикладами. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- JComponent на Java
- Конструктор на Java
- Що таке спадщина Java?
- Доступ до модифікаторів на Java
- Статичний метод в PHP
- Спадщина в PHP
- Повне керівництво по спадщині в Python
- це ключове слово у java | Приклади цього ключового слова
- Статичний метод JavaScript | Як працювати? | Приклади