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 -
- JComponent i Java
- Konstruktør i Java
- Hva er Java arv?
- Få tilgang til modifikatorer i Java
- Statisk metode i PHP
- Arv i PHP
- Komplett guide til arv i Python
- dette nøkkelordet i java | Eksempler på dette nøkkelordet
- Static metoden for JavaScript | Hvordan arbeide? | eksempler