Super sökord i Java - Hur fungerar Super Key i Java med exempel?

Innehållsförteckning:

Anonim

Introduktion till Super sökord i Java

Super är ett nyckelord som används för att kalla en funktion eller metod i superklassen. Detta kommer att definieras i underklassen. Metoder som endast är offentliga och skyddade kan kallas med hjälp av detta nyckelord. Med andra ord kan privata metoder och statiska metoder inte kallas med detta. Super nyckelordet i java kan också användas för att ringa konstruktörerna i förälderklassen. Syntax, exempel och ytterligare detaljer om super sökord kommer att diskuteras i följande avsnitt.

Syntax

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

Hur fungerar Super Key i Java?

Som redan nämnts kan super användas vid flera tillfällen. De är använda:

  • För att hänvisa instansvariabel för en omedelbar förälderklass.
  • För att hänvisa till metoden för en omedelbar förälderklass.
  • Att hänvisa konstruktören till en omedelbar förälderklass.

Låt oss nu se var och en av dem i detalj.

1. Att hänvisa instansvariabel för en omedelbar förälderklass

Om föräldrar- och barnklassen har samma datamedlemmar kan Super-nyckelord användas för att få åtkomst till fältet eller datamedlemmen i förälderklassen. Oklarhet för Java Virtual Machine kan uppstå i detta fall.

Exempel:

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

Här har två klasser A och B ett gemensamt fältnamn. En funktion printType () i barnklass använder super-nyckelordet för att hänvisa till fältet i en överordnad klass.

2. Att hänvisa till metod för en omedelbar förälderklass

Överträffande metod är en process där en barnklass förklarar samma funktion eller metod som redan finns i förälderklassen. Anta att om ett samtal till metoden sker från objektet för barnklass, kommer metoden endast i barnklassen att ringas. För att få tillgång till överordnad metod kan ett supernyckel användas.

Exempel:

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

Här har två klasser A och B samma metod hej (). Med hjälp av ett super sökord i funktionen test () är det möjligt att få tillgång till hej () -metoden för en överordnad klass.

3. Att hänvisa konstruktör för omedelbar förälderklass

Det är redan känt att en konstruktör (standard) automatiskt anropas när objektets klass skapas. Super-nyckelordet kan användas för att uttryckligen kalla konstruktören för superklassen från konstruktören för underklassen. Se till att super endast används i underklassens konstruktör och att det är det första uttalandet inuti det.

Exempel:

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

Exempel på Super sökord i Java

Nedan är de olika exemplen på super sökord i Java:

Exempel - 1

I följande program finns ett vanligt variabelnamn och super används för att kalla variabeln i en överordnad klass.

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

Produktion:

Exempel - 2

Detta program hjälper till att demonstrera super-nyckelordet medan det hänvisar till samma metod i en förälderklass. Här är hej () en metod som är tillgänglig i båda klasserna.

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

Produktion:

Exempel - 3

Detta program kallar konstruktören för förälderklassen med supernyckelordet.

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

Produktion:

Exempel - 4

Detta program demonstrerar användningen av ett supernyckel för att hänvisa till den parametrerade konstruktören i en överordnad klass.

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

Produktion:

Slutsats

Super är ett nyckelord i Java som används för att hänvisa till metoder eller funktioner, instansvariabler eller attribut och konstruktörer i moderklassen. Om en konstruktör inte deklareras skapar kompilatorn automatiskt en standardkonstruktör. På liknande sätt anropar Compiler super () automatiskt om det inte deklareras. I detta dokument förklaras flera aspekter av super-nyckelordet i detalj.

Rekommenderade artiklar

Detta är en guide till Super sökord i Java. Här diskuterar vi hur dosen super-nyckelord fungerar i java tillsammans med exempel. Du kan också titta på följande artiklar för att lära dig mer -

  1. JComponent i Java
  2. Konstruktör i Java
  3. Vad är Java-arv?
  4. Få åtkomst till modifierare i Java
  5. Statisk metod i PHP
  6. Arv i PHP
  7. Komplett guide till arv i Python
  8. detta nyckelord i java | Exempel på detta sökord
  9. Statisk metod för JavaScript | Hur man arbetar? | exempel