Sissejuhatus Java märksõna
Super on märksõna, mida kasutatakse superklassis funktsiooni või meetodi kutsumiseks. See määratletakse alamklassis. Ainult avalikke ja kaitstud meetodeid saab selle märksõna abil kutsuda. Teisisõnu, privaatseid ja staatilisi meetodeid ei saa seda kasutades nimetada. Java ülimenüüd saab kasutada ka vanemate klassi konstruktorite kutsumiseks. Järgmistes osades arutatakse süntaksit, üldsõna märksõna näiteid ja täiendavaid üksikasju.
Süntaks
super.<> or super((0 or more arguments));
Kuidas Super märksõna Java töötab?
Nagu juba mainitud, saab super kasutada mitmel korral. Neid kasutatakse:
- Otsese vanema klassi eksemplari muutuja viitamiseks.
- Viidatakse vahetute vanemate klassi meetodile.
- Osutada vahetu vanema klassi konstruktorile.
Vaatame nüüd neid kõiki üksikasjalikult.
1. Otsese vanema klassi eksemplari muutuja viitamiseks
Kui vanemal ja lasteklassil on samad andmeliikmed, saab superklassi märksõna abil pääseda vanemklassi andmeväljale või andmeliikmele. Sel juhul võib Java virtuaalarvuti kahemõttelisus esineda.
Näide:
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);
)
)
Siin on kahel klassil A ja B ühine välja nimi. Lasteklassi funktsioon printType () kasutab super märksõna, et viidata väljale vanemklassis.
2. Viidata vahetute vanemate klassidele
Meetodi alistamine on protsess, mille käigus lasteklass deklareerib sama funktsiooni või meetodi, mis on juba vanemklassis saadaval. Oletame, et kui meetodit kutsutakse lasteklassi objektist, siis kutsutakse ainult lasteklassi meetod. Vanemmeetodile juurdepääsu saamiseks võib kasutada supersõna.
Näide:
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();
)
)
Siin on kahel klassil A ja B sama meetod hello (). Funktsiooni super (märksõna) abil on võimalik pääseda vanemklassi meetodile hello ().
3. Kohe vanemate klassi konstruktoriks nimetada
Juba on teada, et konstruktori (vaikimisi) kutsutakse klassi objekti loomisel automaatselt. Super märksõna abil saab alamklassi konstruktorist superklassi konstruktorit selgesõnaliselt kutsuda. Veenduge, et super kasutatakse ainult alaklassi konstruktoris ja see on esimene lause selle sees.
Näide:
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"); ) )
Näited üldsõnastikust Java-s
Allpool on Java näited supersõna kohta:
Näide - 1
Järgmises programmis on tavaline muutuja nimi ja vanemklassi muutuja kutsumiseks kasutatakse super.
//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
)
)
Väljund:
Näide - 2
See programm aitab näidata üldsõna, viidates samas vanemklassis samale meetodile. Siin on hello () meetod, mis on saadaval mõlemas klassis.
//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
) )
Väljund:
Näide - 3
See programm kutsub super märksõna abil vanemklassi konstruktorit.
//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
)
)
Väljund:
Näide - 4
See programm demonstreerib supersõna kasutamist põhiklassi parameetriga konstruktorile viitamiseks.
//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
)
)
Väljund:
Järeldus
Super on Java Java märksõna, mida kasutatakse vanemate klasside meetodite või funktsioonide, esinemismuutujate või atribuutide ja konstruktorite viitamiseks. Kui konstruktorit ei kuulutata, loob kompilaator automaatselt vaikse konstruktori. Samamoodi kutsub Compiler automaatselt super () automaatselt, kui seda pole deklareeritud. Selles dokumendis on üksikasjalikult lahti seletatud üldsõna mitmed aspektid.
Soovitatavad artiklid
See on Java märksõna Super Märksõna juhend. Siin arutleme, kuidas annuse üldsõna javas töötab, koos näidetega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -
- JComponent Java-s
- Konstruktor Java
- Mis on Java pärand?
- Juurdepääs Java muutjatele
- Staatiline meetod PHP-s
- Pärand PHP-s
- Pythoni pärandi täielik juhend
- see märksõna javas | Selle märksõna näited
- JavaScripti staatiline meetod | Kuidas töötada? | Näited