Wprowadzenie do Super Keyword w Javie
Super jest słowem kluczowym używanym do wywoływania funkcji lub metody w nadklasie. Zostanie to określone wewnątrz podklasy. Za pomocą tego słowa kluczowego można wywoływać metody tylko publiczne i chronione. Innymi słowy, przy użyciu tego nie można wywoływać metod prywatnych i metod statycznych. Super słowo kluczowe w java może być również użyte do wywołania konstruktorów klasy nadrzędnej. Składnia, przykłady i dalsze szczegóły dotyczące super słowa kluczowego zostaną omówione w poniższych sekcjach.
Składnia
super.<> or super((0 or more arguments));
Jak działa Super Keyword w Javie?
Jak już wspomniano, super może być używany kilkakrotnie. Oni przywykli:
- Aby odwołać się do zmiennej instancji bezpośredniej klasy nadrzędnej.
- Odwoływanie się do metody bezpośredniej klasy nadrzędnej.
- Aby odwołać konstruktora bezpośredniej klasy nadrzędnej.
Zobaczmy teraz każdy z nich szczegółowo.
1. Aby odwołać się do zmiennej instancji natychmiastowej klasy nadrzędnej
Jeśli klasa nadrzędna i podrzędna mają te same elementy danych, można użyć słowa kluczowego Super, aby uzyskać dostęp do pola lub elementu danych klasy nadrzędnej. W takim przypadku może wystąpić niejednoznaczność dla wirtualnej maszyny Java.
Przykład:
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);
)
)
Tutaj dwie klasy A i B mają wspólną nazwę pola. Funkcja printType () w klasie podrzędnej używa super słowa kluczowego, aby odwołać się do pola w klasie nadrzędnej.
2. Aby odwołać się do metody bezpośredniej klasy rodzicielskiej
Nadpisywanie metod to proces, w którym klasa potomna deklaruje tę samą funkcję lub metodę, która jest już dostępna w klasie nadrzędnej. Załóżmy, że jeśli wywołanie metody nastąpi z obiektu klasy potomnej, wówczas wywołana zostanie metoda tylko w klasie potomnej. Aby uzyskać dostęp do metody nadrzędnej, można użyć super słowa kluczowego.
Przykład:
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();
)
)
Tutaj dwie klasy A i B mają tę samą metodę hello (). Za pomocą super słowa kluczowego w funkcji test () można uzyskać dostęp do metody hello () klasy nadrzędnej.
3. Odesłać konstruktora natychmiastowej klasy rodzicielskiej
Wiadomo już, że konstruktor (domyślnie) jest automatycznie wywoływany podczas tworzenia obiektu klasy. Super słowa kluczowego można użyć do jawnego wywołania konstruktora nadklasy z konstruktora podklasy. Upewnij się, że super jest używane tylko wewnątrz konstruktora podklasy i jest to pierwsza instrukcja wewnątrz tego.
Przykład:
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"); ) )
Przykłady super słowa kluczowego w Javie
Poniżej znajdują się różne przykłady super słów kluczowych w Javie:
Przykład 1
W poniższym programie występuje wspólna nazwa zmiennej, a do wywołania zmiennej w klasie nadrzędnej używana jest 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
)
)
Wynik:
Przykład - 2
Ten program pomaga w zademonstrowaniu super słowa kluczowego, odwołując się do tej samej metody w klasie nadrzędnej. Tutaj hello () jest metodą dostępną w obu klasach.
//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
) )
Wynik:
Przykład - 3
Ten program wywołuje konstruktor klasy nadrzędnej za pomocą super słowa kluczowego.
//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
)
)
Wynik:
Przykład - 4
Ten program demonstruje użycie super słowa kluczowego w odniesieniu do sparametryzowanego konstruktora klasy nadrzędnej.
//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
)
)
Wynik:
Wniosek
Super jest słowem kluczowym w Javie, które jest używane w odniesieniu do metod lub funkcji, zmiennych instancji lub atrybutów i konstruktorów w klasie nadrzędnej. Jeśli konstruktor nie zostanie zadeklarowany, kompilator automatycznie tworzy domyślny konstruktor. Podobnie, kompilator wywołuje super () automatycznie, jeśli nie jest zadeklarowany. W tym dokumencie szczegółowo wyjaśniono kilka aspektów super słowa kluczowego.
Polecane artykuły
To jest przewodnik po Super Keyword w Javie. Tutaj omawiamy, jak działa super słowo kluczowe dawka w java wraz z przykładami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -
- JComponent w Javie
- Konstruktor w Javie
- Co to jest dziedziczenie Java?
- Dostęp do modyfikatorów w Javie
- Metoda statyczna w PHP
- Dziedziczenie w PHP
- Kompletny przewodnik po dziedziczeniu w języku Python
- to słowo kluczowe w java | Przykłady tego słowa kluczowego
- Metoda statyczna JavaScript | Jak pracować? | Przykłady