Introducción a Super Keyword en Java
Super es una palabra clave que se utiliza para llamar a una función o método en la superclase. Esto se definirá dentro de la subclase. Los métodos que solo son públicos y protegidos se pueden invocar utilizando esta palabra clave. En otras palabras, los métodos privados y los métodos estáticos no se pueden llamar con esto. La palabra clave super en java también se puede usar para llamar a los constructores de la clase padre. La sintaxis, ejemplos y más detalles de la palabra clave súper se discutirán en las siguientes secciones.
Sintaxis
super.<> or super((0 or more arguments));
¿Cómo funciona Super Keyword en Java?
Como ya se mencionó, super se puede utilizar en varias ocasiones. Son usados:
- Para hacer referencia a la variable de instancia de una clase primaria inmediata.
- Para referirse al método de una clase primaria inmediata.
- Para referir al constructor de una clase primaria inmediata.
Ahora, veamos cada uno de ellos en detalle.
1. Para referir la variable de instancia de una clase primaria inmediata
Si la clase primaria y secundaria tienen los mismos miembros de datos, la palabra clave Super se puede usar para acceder al campo o miembro de datos de la clase primaria. La ambigüedad para Java Virtual Machine puede ocurrir en este caso.
Ejemplo:
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);
)
)
Aquí, dos clases A y B tienen un nombre de campo común. Una función printType () dentro de la clase secundaria usa la palabra clave súper para referir el campo en una clase primaria.
2. Para referir el método de una clase inmediata para padres
La anulación de métodos es un proceso mediante el cual una clase secundaria declara la misma función o método que ya está disponible en la clase primaria. Supongamos que si se llama al método desde el objeto de la clase secundaria, solo se llamará al método en la clase secundaria. Para acceder al método padre, se puede usar una súper palabra clave.
Ejemplo:
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();
)
)
Aquí, dos clases A y B tienen el mismo método hello (). Con la ayuda de una súper palabra clave en la función test (), es posible acceder al método hello () de una clase padre.
3. Referir al constructor de la clase principal inmediata
Ya se sabe que se llama automáticamente a un constructor (predeterminado) cuando se crea el objeto de una clase. La palabra clave super puede usarse para llamar explícitamente al constructor de la superclase desde el constructor de la subclase. Asegúrese de que super se use solo dentro del constructor de la subclase y que sea la primera instrucción dentro de eso.
Ejemplo:
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"); ) )
Ejemplos de súper palabras clave en Java
A continuación se muestran los diferentes ejemplos de super palabra clave en Java:
Ejemplo 1
En el siguiente programa, un nombre de variable común está presente y super se usa para llamar a la variable en una clase primaria.
//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
)
)
Salida:
Ejemplo - 2
Este programa ayuda a demostrar la súper palabra clave mientras hace referencia al mismo método en una clase primaria. Aquí, hello () es un método que está disponible en ambas clases.
//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
) )
Salida:
Ejemplo - 3
Este programa llama al constructor de la clase padre usando la palabra clave super.
//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
)
)
Salida:
Ejemplo - 4
Este programa demuestra el uso de una súper palabra clave para referirse al constructor parametrizado de una clase primaria.
//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
)
)
Salida:
Conclusión
Super es una palabra clave en Java que se usa para referirse a los métodos o funciones, variables de instancia o atributos y constructores en la clase padre. Si no se declara un constructor, el compilador crea automáticamente un constructor predeterminado. Del mismo modo, el compilador llama a super () automáticamente si no se declara. En este documento, se explican en detalle varios aspectos de la súper palabra clave.
Artículos recomendados
Esta es una guía para Super Keyword en Java. Aquí discutimos cómo funciona la palabra clave super dosis en Java junto con ejemplos. También puede consultar los siguientes artículos para obtener más información:
- JComponent en Java
- Constructor en Java
- ¿Qué es la herencia de Java?
- Modificadores de acceso en Java
- Método estático en PHP
- Herencia en PHP
- Guía completa de herencia en Python
- esta palabra clave en java | Ejemplos de esta palabra clave
- Método estático de JavaScript | ¿Como trabajar? El | Ejemplos