Szuper kulcsszó a Java-ban Hogyan működik a szuper kulcsszó a Java-ban például?

Tartalomjegyzék:

Anonim

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 -

  1. JComponent Java-ban
  2. Kivitelező Java-ban
  3. Mi a Java öröklés?
  4. Hozzáférés a Java módosítóihoz
  5. Statikus módszer a PHP-ben
  6. Öröklés a PHP-ben
  7. Teljes útmutató az öröklésről a Pythonban
  8. ez a kulcsszó java | Példák erre a kulcsszóra
  9. JavaScript statikus módszer | Hogyan dolgozz? | Példák