Super søgeord i Java - Hvordan fungerer Super Nøgleord i Java med eksempel?

Indholdsfortegnelse:

Anonim

Introduktion til Super søgeord i Java

Super er et nøgleord, der bruges til at kalde en funktion eller metode i superklassen. Dette defineres i underklassen. Metoder, der kun er offentlige og beskyttede, kan kaldes ved hjælp af dette nøgleord. Med andre ord kan private metoder og statiske metoder ikke kaldes ved hjælp af dette. Super-nøgleordet i java kan også bruges til at kalde konstruktører af forældreklassen. Syntaks, eksempler og yderligere detaljer om super nøgleord diskuteres i de følgende afsnit.

Syntaks

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

Hvordan fungerer Super Keyword i Java?

Som allerede nævnt kan super bruges i flere lejligheder. De bruges:

  • For at henvise forekomstvariabel i en umiddelbar forældreklasse.
  • For at henvise til metoden i en umiddelbar forældreklasse.
  • At henvise konstruktøren til en umiddelbar forældreklasse.

Lad os nu se hver af dem detaljeret.

1. At henvise til forekomstvariabel af en øjeblikkelig forældreklasse

Hvis forældre- og barneklassen har de samme datamedlemmer, kan Super-nøgleord bruges til at få adgang til feltet eller datamedlemmet i forældreklassen. Uklarhed for Java Virtual Machine kan forekomme i dette tilfælde.

Eksempel:

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);
)
)

Her har to klasser A og B et fælles feltnavn. En funktion printType () inde i barneklasse bruger super-nøgleordet til at henvise feltet i en forældreklasse.

2. Henvisning til metode til en øjeblikkelig forældreklasse

Metodeoverskridelse er en proces, hvor en barneklasse erklærer den samme funktion eller metode, der allerede er tilgængelig i forældreklassen. Antag, at hvis et opkald til metoden sker fra objektet for barneklassen, kaldes metoden kun i barneklassen. For at få adgang til overordnet metode kan et super nøgleord bruges.

Eksempel:

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();
)
)

Her har to klasser A og B samme metode hej (). Ved hjælp af et super nøgleord i test () -funktion er det muligt at få adgang til hallo () -metoden i en overordnet klasse.

3. Henvisning til konstruktør af øjeblikkelig forældreklasse

Det er allerede kendt, at en konstruktør (standard) automatisk kaldes, når objektets klasse oprettes. Super-nøgleordet kan bruges til eksplicit at kalde konstruktøren af ​​superklassen fra konstruktøren af ​​underklassen. Sørg for, at super kun bruges inden i underklassens konstruktør, og det er den første erklæring inde i det.

Eksempel:

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"); ) )

Eksempler på Super søgeord i Java

Nedenfor er de forskellige eksempler på super nøgleord i Java:

Eksempel - 1

I det følgende program er et fælles variabelnavn til stede, og super bruges til at kalde variablen i en overordnet klasse.

//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
)
)

Produktion:

Eksempel - 2

Dette program hjælper med at demonstrere super nøgleordet mens det refererer til den samme metode i en forældreklasse. Her er hallo () en metode, der er tilgængelig i begge klasser.

//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
) )

Produktion:

Eksempel - 3

Dette program kalder konstruktøren af ​​forældreklassen ved hjælp af det super nøgleord.

//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
)
)

Produktion:

Eksempel - 4

Dette program demonstrerer brugen af ​​et super nøgleord til at henvise til den parameteriserede konstruktør af en overordnet 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
)
)

Produktion:

Konklusion

Super er et nøgleord i Java, der bruges til at henvise til metoder eller funktioner, forekomstvariabler eller attributter og konstruktører i forældreklassen. Hvis en konstruktør ikke er deklareret, opretter compileren automatisk en standardkonstruktør. Tilsvarende kalder Compiler super () automatisk, hvis det ikke er deklareret. I dette dokument forklares flere aspekter af super-nøgleordet i detaljer.

Anbefalede artikler

Dette er en guide til Super søgeord i Java. Her diskuterer vi, hvordan dosis-super-søgeord fungerer i java sammen med eksempler. Du kan også se på de følgende artikler for at lære mere -

  1. JComponent i Java
  2. Konstruktør i Java
  3. Hvad er Java-arv?
  4. Få adgang til modifikatorer i Java
  5. Statisk metode i PHP
  6. Arv i PHP
  7. Komplet guide til arv i Python
  8. dette nøgleord i java | Eksempler på dette nøgleord
  9. Statisk JavaScript for JavaScript | Hvordan man arbejder? | eksempler