Super nøkkelord i Java - Hvordan Super nøkkelord fungerer i Java med eksempel?

Innholdsfortegnelse:

Anonim

Introduksjon til Super nøkkelord i Java

Super er et nøkkelord som brukes til å kalle en funksjon eller metode i superklassen. Dette vil bli definert i underklassen. Metoder som bare er offentlige og beskyttede, kan kalles ved å bruke dette nøkkelordet. Med andre ord, private metoder og statiske metoder kan ikke kalles ved bruk av dette. Super nøkkelordet i java kan også brukes for å ringe konstruktørene til foreldreklassen. Syntaks, eksempler og ytterligere detaljer om super nøkkelord vil bli diskutert i de følgende seksjonene.

syntax

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

Hvordan fungerer Super nøkkelord i Java?

Som allerede nevnt, kan super brukes i flere anledninger. De brukes:

  • For å referere forekomstvariabel av en umiddelbar foreldreklasse.
  • For å referere til metoden for en umiddelbar foreldreklasse.
  • Å henvise konstruktøren til en umiddelbar foreldreklasse.

La oss nå se hver av dem i detalj.

1. Å henvise forekomstvariabel av en umiddelbar foreldreklasse

Hvis foreldre- og barneklassen har de samme datamedlemmene, kan Super nøkkelord brukes til å få tilgang til feltet eller datamedlemmet til foreldreklassen. Tvetydighet for Java Virtual Machine kan forekomme i dette tilfellet.

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 felles feltnavn. En funksjon printType () i barneklasse bruker super nøkkelordet for å henvise til feltet i en foreldreklasse.

2. Å referere til metoden for en umiddelbar foreldreklasse

Overstyring av metode er en prosess der en barneklasse erklærer den samme funksjonen eller metoden som allerede er tilgjengelig i foreldreklassen. Anta at hvis et kall til metoden skjer fra objektet til barneklassen, vil metoden bare i barneklassen bli ringt. For å få tilgang til overordnet metode kan et super nøkkelord brukes.

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 hallo (). Ved hjelp av et super nøkkelord i test () -funksjon, er det mulig å få tilgang til hallo () -metoden til en foreldreklasse.

3. Å henvise konstruktør av umiddelbar foreldreklasse

Det er allerede kjent at en konstruktør (standard) automatisk blir oppringt når objektet til en klasse opprettes. Super nøkkelordet kan brukes til eksplisitt å ringe konstruktøren til superklassen fra konstruktøren til underklassen. Forsikre deg om at super bare brukes inne i konstruktøren til underklassen, og at det er det første utsagnet der inne.

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 nøkkelord i Java

Nedenfor er de forskjellige eksemplene på super nøkkelord i Java:

Eksempel - 1

I det følgende programmet er et vanlig variabelnavn til stede og super brukes til å kalle variabelen i en foreldreklasse.

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

Produksjon:

Eksempel - 2

Dette programmet hjelper med å demonstrere super nøkkelordet mens det refereres til den samme metoden i en foreldreklasse. Her er hallo () en metode som er tilgjengelig 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
) )

Produksjon:

Eksempel - 3

Dette programmet kaller konstruktøren til foreldreklassen ved å bruke super nøkkelordet.

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

Produksjon:

Eksempel - 4

Dette programmet demonstrerer bruken av et super nøkkelord for å referere til den parameteriserte konstruktøren til en foreldreklasse.

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

Produksjon:

Konklusjon

Super er et nøkkelord i Java som brukes til å referere til metodene eller funksjonene, forekomstvariabler eller attributter og konstruktører i foreldreklassen. Hvis en konstruktør ikke er deklarert, oppretter kompilatoren automatisk en standardkonstruktør. Tilsvarende kaller Compiler super () automatisk hvis den ikke er deklarert. I dette dokumentet blir flere aspekter ved supernøkkelordet forklart i detalj.

Anbefalte artikler

Dette er en guide til Super nøkkelord i Java. Her diskuterer vi hvordan dose super søkeord fungerer i java sammen med eksempler. Du kan også se på følgende artikler for å lære mer -

  1. JComponent i Java
  2. Konstruktør i Java
  3. Hva er Java arv?
  4. Få tilgang til modifikatorer i Java
  5. Statisk metode i PHP
  6. Arv i PHP
  7. Komplett guide til arv i Python
  8. dette nøkkelordet i java | Eksempler på dette nøkkelordet
  9. Static metoden for JavaScript | Hvordan arbeide? | eksempler