Ú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 -
- JComponent v Javě
- Konstruktor v Javě
- Co je dědičnost Java?
- Přístup k modifikátorům v Javě
- Statická metoda v PHP
- Dědičnost v PHP
- Kompletní průvodce dědictvím v Pythonu
- toto klíčové slovo v javě | Příklady tohoto klíčového slova
- Statická metoda JavaScript Jak pracovat? | Příklady