Super klíčové slovo v Javě - Jak Super klíčové slovo funguje v jazyce Java s příkladem?

Obsah:

Anonim

Úvod do super klíčových slov v Javě

Super je klíčové slovo, které se používá k vyvolání funkce nebo metody v nadřazené třídě. To bude definováno uvnitř podtřídy. Pomocí tohoto klíčového slova lze volat metody, které jsou pouze veřejné a chráněné. Jinými slovy, pomocí tohoto nelze volat soukromé metody a statické metody. Super klíčové slovo v java lze také použít k volání konstruktorů nadřazené třídy. Syntaxe, příklady a další podrobnosti super klíčových slov budou diskutovány v následujících částech.

Syntax

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

Jak Super klíčové slovo funguje v Javě?

Jak již bylo zmíněno, super lze použít v několika příležitostech. Používají se:

  • Odkazovat instanční proměnnou bezprostřední nadřazené třídy.
  • Odkazovat na metodu bezprostřední nadřazené třídy.
  • Odkázat konstruktora bezprostřední nadřazené třídy.

Nyní se na každou z nich podívejme podrobně.

1. Předat proměnnou instance okamžité nadřazené třídy

Pokud nadřazená a podřízená třída mají stejné datové členy, lze pro přístup k poli nebo datovému členu nadřazené třídy použít klíčové slovo Super. V tomto případě může dojít k dvojznačnosti pro Java Virtual Machine.

Příklad:

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

Zde mají dvě třídy A a B společný název pole. Funkce printType () uvnitř podřízené třídy používá klíčové slovo super k odkazu na pole v nadřazené třídě.

2. Předat metodu bezprostřední nadřazené třídy

Přepisování metod je proces, kterým podřízená třída deklaruje stejnou funkci nebo metodu, která je již k dispozici v nadřazené třídě. Předpokládejme, že pokud dojde k volání metody z objektu podřízené třídy, bude volána pouze metoda v podřízené třídě. Pro přístup k nadřazené metodě lze použít super klíčové slovo.

Příklad:

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();
)
)

Zde dvě třídy A a B mají stejnou metodu ahoj (). Pomocí funkce super klíčových slov ve funkci test () je možné přistupovat k metodě hello () nadřazené třídy.

3. Předat konstruktéra třídy bezprostředních rodičů

Je již známo, že konstruktor (výchozí) je automaticky vyvolán, když je vytvořen objekt třídy. Super klíčové slovo lze použít k výslovnému volání konstruktoru nadtriedy z konstruktoru podtřídy. Ujistěte se, že super je použito pouze uvnitř konstruktoru podtřídy a je to první příkaz uvnitř.

Příklad:

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říklady super klíčových slov v Javě

Níže jsou uvedeny různé příklady super klíčových slov v Javě:

Příklad - 1

V následujícím programu je uveden společný název proměnné a super se používá k volání proměnné v nadřazené třídě.

//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ýstup:

Příklad - 2

Tento program pomáhá demonstrovat super klíčové slovo a odkazuje na stejnou metodu v nadřazené třídě. Zde je hello () metoda, která je k dispozici v obou třídách.

//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ýstup:

Příklad - 3

Tento program volá konstruktor nadřazené třídy pomocí super klíčového slova.

//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ýstup:

Příklad - 4

Tento program demonstruje použití super klíčového slova pro odkazování na parametrizovaný konstruktor nadřazené třídy.

//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ýstup:

Závěr

Super je klíčové slovo v jazyce Java, které se používá k odkazu na metody nebo funkce, proměnné instance nebo atributy a konstruktory v nadřazené třídě. Pokud konstruktor není deklarován, kompilátor automaticky vytvoří výchozí konstruktor. Podobně kompilátor volá super () automaticky, pokud není deklarován. V tomto dokumentu je podrobně vysvětleno několik aspektů super klíčových slov.

Doporučené články

Toto je průvodce po super klíčových slovech v Javě. Zde diskutujeme o tom, jak klíčové slovo super dávka funguje v javě, spolu s příklady. Další informace naleznete také v následujících článcích -

  1. JComponent v Javě
  2. Konstruktor v Javě
  3. Co je dědičnost Java?
  4. Přístup k modifikátorům v Javě
  5. Statická metoda v PHP
  6. Dědičnost v PHP
  7. Kompletní průvodce dědictvím v Pythonu
  8. toto klíčové slovo v javě | Příklady tohoto klíčového slova
  9. Statická metoda JavaScript Jak pracovat? | Příklady