Bevezetés a szuper kulcsszóba a Java-ban
A szuper egy olyan kulcsszó, amelyet egy funkció vagy módszer meghívására használnak a szuperosztályban. Ezt az alosztályon belül kell meghatározni. A csak nyilvános és védett módszerek e kulcsszó használatával hívhatók meg. Más szavakkal, a privát módszereket és a statikus módszereket nem lehet úgy hívni. A java szuper kulcsszava szintén felhasználható a szülő osztály építőinek meghívására. A szintaxist, a szuper kulcsszó példáit és további részleteit a következő szakaszokban tárgyaljuk.
Szintaxis
super.<> or super((0 or more arguments));
Hogyan működik a Super Kulcsszó Java-ban?
Mint már említettük, a szuper többször is használható. Használják őket:
- Egy közvetlen szülőosztály példányváltozójának hivatkozása.
- A közvetlen szülői osztály módszerére való hivatkozás.
- A közvetlen szülőosztály építőjének hivatkozása.
Most nézzük meg mindegyiket részletesen.
1. Az azonnali szülői osztály példányváltozójának hivatkozása
Ha a szülő és a gyermek osztály ugyanazok az adattagok, akkor a Super kulcsszóval lehet elérni a szülő osztály mezőjét vagy adatait. A Java virtuális gép kétértelműsége ebben az esetben előfordulhat.
Példa:
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);
)
)
Itt két A és B osztály közös mezőnévvel rendelkezik. A gyermekosztályon belül a printType () függvény a szuper kulcsszót használja a szülő osztály mezőjének hivatkozására.
2. A közvetlen szülők osztályának módszerére való hivatkozás
A módszer felülbírálása egy olyan folyamat, amelynek során a gyermekosztály ugyanazt a funkciót vagy módszert deklarálja, amely már elérhető a szülői osztályban. Tegyük fel, hogy ha egy módszerre hívunk fel a gyermekosztály objektumából, akkor csak a gyermekosztályban szereplő módszert hívjuk meg. A szülő módszer eléréséhez szuper kulcsszó használható.
Példa:
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();
)
)
Itt két A és B osztály ugyanazzal a módszerrel rendelkezik, hello (). Egy szuper kulcsszó segítségével a test () függvényben elérhető a szülő osztály hello () metódusa.
3. A közvetlen szülői osztály kivitelezőjének hivatkozása
Már ismert, hogy egy konstruktor (alapértelmezett) automatikusan meghívásra kerül, amikor egy osztály objektuma létrejön. A szuper kulcsszó felhasználható arra, hogy kifejezetten felhívja a szuperosztály építőjét az alosztály építőjére. Győződjön meg arról, hogy a szuper-t csak az alosztály kivitelezőjén használják, és ez az első megállapítás ezen belül.
Példa:
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"); ) )
Példák a szuper kulcsszóra a Java-ban
Az alábbiakban bemutatjuk a szuper kulcsszó különféle példáit a Java-ban:
Példa - 1
A következő programban egy általános változónév létezik, és a szuper szót használja a változó meghívására egy szülőosztályban.
//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
)
)
Kimenet:
2. példa
Ez a program segíti a szuper kulcsszó bemutatását, miközben ugyanazon módszerre utal egy szülői osztályban. A hello () módszer itt elérhető mindkét osztályban.
//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
) )
Kimenet:
- 3. példa
Ez a program a szuper kulcsszóval hívja meg a szülőosztály konstruktorát.
//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
)
)
Kimenet:
Példa - 4
Ez a program bemutatja egy szuper kulcsszó használatát a szülő osztály paraméterezett konstruktorára való hivatkozáshoz.
//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
)
)
Kimenet:
Következtetés
A szuper egy olyan kulcsszó a Java-ban, amelyet a szülőosztály módszereire vagy funkcióira, példányváltozókra vagy attribútumokra és konstruktorokra utalnak. Ha egy konstruktort nem deklarálnak, a fordító automatikusan létrehoz egy alapértelmezett konstruktort. Hasonlóképpen, a Compiler automatikusan meghívja a super () -et, ha nem jelenik meg. Ebben a dokumentumban a szuper kulcsszó több aspektusát részletezzük.
Ajánlott cikkek
Ez egy útmutató a Java szuper kulcsszavaihoz. Itt tárgyaljuk, hogyan működik az adag szuper kulcsszó java-ban, a példákkal együtt. A következő cikkeket is megnézheti további információkért -
- JComponent Java-ban
- Kivitelező Java-ban
- Mi a Java öröklés?
- Hozzáférés a Java módosítóihoz
- Statikus módszer a PHP-ben
- Öröklés a PHP-ben
- Teljes útmutató az öröklésről a Pythonban
- ez a kulcsszó java | Példák erre a kulcsszóra
- JavaScript statikus módszer | Hogyan dolgozz? | Példák