Въведение в Супер ключова дума в Java

Super е ключова дума, която се използва за извикване на функция или метод в надклас. Това ще бъде дефинирано в подкласа. Методите, които са само обществени и защитени, могат да бъдат извиквани с помощта на тази ключова дума. С други думи, частните методи и статичните методи не могат да бъдат извикани чрез това. Супер ключовата дума в java също може да се използва, за да се извикат конструкторите на родителския клас. Синтаксис, примери и допълнителни подробности за супер ключовите думи ще бъдат разгледани в следващите раздели.

Синтаксис

super.<> or super((0 or more arguments));

Как работи Super Keyword в 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 () на родителски клас.

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, която се използва за препращане към методите или функциите, променливите или атрибутите и конструкторите в родителския клас. Ако конструктор не е деклариран, компилаторът автоматично създава конструктор по подразбиране. По същия начин компилаторът извиква супер () автоматично, ако не е деклариран. В този документ са описани подробно няколко аспекта на супер ключовата дума.

Препоръчителни статии

Това е ръководство за Супер ключова дума в Java. Тук обсъждаме как работи ключова дума доза супер в Java заедно с примери. Можете също да разгледате следните статии, за да научите повече -

  1. JComponent в Java
  2. Конструктор в Java
  3. Какво е наследяване на Java?
  4. Достъп до модификатори в Java
  5. Статичен метод в PHP
  6. Наследяване в PHP
  7. Пълно ръководство за наследяване в Python
  8. тази ключова дума в java | Примери за тази ключова дума
  9. Статичен метод на JavaScript | Как да работи? | Примери