Super cuvânt cheie în Java - Cum funcționează Super Keyword în Java cu exemplu?

Cuprins:

Anonim

Introducere în Super Keyword în Java

Super este un cuvânt cheie care este utilizat pentru a numi o funcție sau o metodă din superclasă. Aceasta va fi definită în cadrul sub-clasei. Metodele care sunt numai publice și protejate pot fi apelate folosind acest cuvânt cheie. Cu alte cuvinte, metodele private și metodele statice nu pot fi apelate la aceasta. Super-cuvântul cheie din java poate fi folosit și pentru a apela constructorii clasei părinte. Sintaxa, exemple și detalii suplimentare despre super-cuvinte cheie vor fi discutate în secțiunile următoare.

Sintaxă

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

Cum funcționează Super Keyword în Java?

După cum am menționat deja, super poate fi folosit în mai multe ocazii. Sunt folosite:

  • Pentru a face referire la variabila de instanță a unei clase parentale imediate.
  • Pentru a face referire la metoda unei clase de părinți imediați.
  • Pentru a referi constructorul unei clase de părinți imediați.

Acum, să vedem fiecare în detaliu.

1. Pentru a referi variabila de instanță a unei clase de părinți imediați

Dacă clasa părinte și copil au aceiași membri de date, Super cuvântul cheie poate fi utilizat pentru a accesa câmpul sau membrul de date al clasei părinte. Ambiguitatea pentru Java Virtual Machine poate apărea în acest caz.

Exemplu:

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

Aici, două clase A și B au un nume de câmp comun. O funcție printType () din cadrul clasei copil folosește super-cuvântul cheie pentru a referi câmpul într-o clasă părinte.

2. Pentru a consulta metoda unei clase de părinți imediați

Suprascrierea metodei este un proces prin care o clasă copil declară aceeași funcție sau metodă care este deja disponibilă în clasa părinte. Să presupunem că, dacă un apel la metodă se întâmplă din obiectul clasei de copii, atunci va fi apelată doar metoda din clasa copil. Pentru a accesa metoda părinte, se poate utiliza un super-cuvânt cheie.

Exemplu:

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

Aici, două clase A și B au aceeași metodă salut (). Cu ajutorul unui super-cuvânt cheie în funcția test (), este posibil să accesați metoda hello () a unei clase părinte.

3. Pentru a face referire la constructorul clasei de părinți imediați

Se știe deja că un constructor (implicit) este apelat automat atunci când este creat obiectul unei clase. Super-cuvântul cheie poate fi utilizat pentru a apela explicit constructorul superclasei de la constructorul subclasei. Asigurați-vă că super este utilizat doar în interiorul constructorului subclasei și este prima afirmație din interiorul acesteia.

Exemplu:

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

Exemple de Super Cuvinte cheie în Java

Mai jos sunt diferite exemple de super-cuvinte cheie în Java:

Exemplu - 1

În programul următor, un nume de variabilă comună este prezent și super este utilizat pentru a apela variabila într-o clasă părinte.

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

ieşire:

Exemplu - 2

Acest program ajută la demonstrarea superului cuvânt cheie în timp ce se referă la aceeași metodă dintr-o clasă părinte. Aici, hello () este o metodă care este disponibilă în ambele clase.

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

ieşire:

Exemplu - 3

Acest program apelează constructorul clasei părinte folosind super-cuvântul cheie.

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

ieşire:

Exemplu - 4

Acest program demonstrează utilizarea unui super-cuvânt cheie pentru a face referire la constructorul parametrizat al unei clase părinte.

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

ieşire:

Concluzie

Super este un cuvânt cheie în Java care este utilizat pentru a face referire la metodele sau funcțiile, variabilele de instanță sau atributele și constructorii din clasa părinte. Dacă un constructor nu este declarat, compilatorul creează automat un constructor implicit. În mod similar, Compiler apelează automat super () dacă nu este declarat. În acest document, sunt explicate în detaliu mai multe aspecte ale super-cuvântului cheie.

Articole recomandate

Acesta este un ghid pentru Super Keyword în Java. Aici vom discuta despre modul în care funcționează superul cuvânt cheie în java împreună cu exemple. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. JComponent în Java
  2. Constructor în Java
  3. Ce este moștenirea Java?
  4. Accesați modificatorii în Java
  5. Metoda statică în PHP
  6. Moștenire în PHP
  7. Ghid complet de moștenire din Python
  8. acest cuvânt cheie în java | Exemple de acest cuvânt cheie
  9. JavaScript Metoda statică | Cum să lucrezi? | Exemple