Introductie van Super Keyword in Java
Super is een trefwoord dat wordt gebruikt om een functie of methode in de superklasse aan te roepen. Dit wordt binnen de subklasse gedefinieerd. Methoden die alleen openbaar en beveiligd zijn, kunnen worden opgeroepen met behulp van dit trefwoord. Met andere woorden, hiermee kunnen privémethoden en statische methoden niet worden aangeroepen. Het super sleutelwoord in java kan ook worden gebruikt om de constructors van de bovenliggende klasse aan te roepen. Syntaxis, voorbeelden en verdere details van superzoekwoorden worden in de volgende paragrafen besproken.
Syntaxis
super.<> or super((0 or more arguments));
Hoe werkt Super Keyword in Java?
Zoals reeds vermeld, kan super in verschillende gelegenheden worden gebruikt. Ze zijn gebruikt:
- Verwijzen naar instantievariabele van een directe bovenliggende klasse.
- Verwijzen naar de methode van een directe ouderklasse.
- Verwijzen naar de constructor van een directe ouderklasse.
Laten we nu elk van hen in detail bekijken.
1. Verwijzen naar instantievariabele van een directe ouderklasse
Als de bovenliggende en onderliggende klasse dezelfde gegevensleden hebben, kan het Super-trefwoord worden gebruikt om toegang te krijgen tot het veld of gegevenslid van de bovenliggende klasse. In dit geval kan dubbelzinnigheid voor Java Virtual Machine optreden.
Voorbeeld:
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);
)
)
Hier hebben twee klassen A en B een gemeenschappelijke veldnaam. Een functie printType () in de child-klasse gebruikt het super-trefwoord om naar het veld in een bovenliggende class te verwijzen.
2. Verwijzen naar de methode van een directe ouderklasse
Methode overschrijven is een proces waarbij een onderliggende klasse dezelfde functie of methode declareert die al beschikbaar is in de bovenliggende klasse. Stel dat als de methode wordt aangeroepen vanuit het object van de onderliggende klasse, de methode alleen in de onderliggende klasse wordt aangeroepen. Om toegang te krijgen tot de bovenliggende methode, kan een superzoekwoord worden gebruikt.
Voorbeeld:
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();
)
)
Hier hebben twee klassen A en B dezelfde methode hallo (). Met behulp van een super trefwoord in test () functie is het mogelijk om toegang te krijgen tot de hello () methode van een bovenliggende klasse.
3. Verwijzen naar de constructeur van de directe ouderklasse
Het is al bekend dat een constructor (standaard) automatisch wordt aangeroepen wanneer het object van een klasse wordt gemaakt. Het super-sleutelwoord kan worden gebruikt om de constructor van de superklasse expliciet aan te roepen vanuit de constructor van de subklasse. Zorg ervoor dat super alleen binnen de constructor van de subklasse wordt gebruikt en dat dit de eerste verklaring daarin is.
Voorbeeld:
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"); ) )
Voorbeelden van Super Keyword in Java
Hieronder staan de verschillende voorbeelden van superzoekwoorden in Java:
Voorbeeld 1
In het volgende programma is een gemeenschappelijke variabelenaam aanwezig en wordt super gebruikt om de variabele in een bovenliggende klasse aan te roepen.
//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
)
)
Output:
Voorbeeld - 2
Dit programma helpt bij het demonstreren van het superzoekwoord terwijl het verwijst naar dezelfde methode in een bovenliggende klasse. Hier is hello () een methode die in beide klassen beschikbaar is.
//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
) )
Output:
Voorbeeld - 3
Dit programma roept de constructor van de bovenliggende klasse aan met behulp van het trefwoord super.
//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
)
)
Output:
Voorbeeld - 4
Dit programma demonstreert het gebruik van een super sleutelwoord om te verwijzen naar de geparametriseerde constructor van een bovenliggende klasse.
//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
)
)
Output:
Conclusie
Super is een trefwoord in Java dat wordt gebruikt om te verwijzen naar de methoden of functies, instantievariabelen of attributen en constructors in de bovenliggende klasse. Als een constructor niet wordt gedeclareerd, maakt de compiler automatisch een standaardconstructor. Op dezelfde manier roept Compiler automatisch super () aan als dit niet is aangegeven. In dit document worden verschillende aspecten van het superzoekwoord in detail uitgelegd.
Aanbevolen artikelen
Dit is een gids voor Super Keyword in Java. Hier bespreken we hoe dosis super keyword werkt in Java samen met voorbeelden. U kunt ook de volgende artikelen bekijken voor meer informatie -
- JComponent in Java
- Constructor in Java
- Wat is Java-erfenis?
- Toegang tot modificaties in Java
- Statische methode in PHP
- Overerving in PHP
- Volledige gids voor erfenis in Python
- dit trefwoord in java | Voorbeelden van dit trefwoord
- JavaScript statische methode | Hoe te werken? | Voorbeelden