Acceda a métodos de superclase y variables de instancia sin palabra clave super en Java

Una clase describe la propiedad y los atributos del objeto. Una clase contiene incluye principalmente los siguientes componentes.

  1. Modificadores : las palabras clave en Java que proporcionan un conjunto de restricciones en la clase y sus miembros y métodos.
  2. Palabra clave de clase : la inicialización de la clase se realiza mediante la palabra reservada de clase y seguida por el nombre de la clase.
  3. Nombre de clase : el nombre de la clase que debe seguir las reglas de la siguiente manera al crear las variables en Java.

Superclase: la clase principal a partir de la cual se pueden crear muchas subclases. Todas las subclases tienen todos los atributos y propiedades que tienen la clase padre. 

La herencia es el mecanismo del lenguaje orientado a objetos por el cual cualquier clase (clase secundaria) puede heredar de otra clase todas las propiedades y el comportamiento de la clase principal.

Parent class: GFG
Child  class: GFGChild

Formato Simple de Herencia:

Java

// Access Super Class Methods and Instance
// Variables Without Super Keyword in Java
  
import java.io.*;
  
class GFG {
    // super class (parent class)
    // instance variables
    // class methods
}
  
class GFGChild extends GFG {
    // GFGChild child class of GFG class
    // instance variables of GFGChild class
    // as well as GFG class
    // class methods of GFGChild class as well as GFG class
}

Hay dos métodos para llamar a las variables de instancia y métodos de la superclase (clase principal) en la clase secundaria.

1. Primer método: la palabra clave super es una de las palabras reservadas en Java. Super se refiere a un objeto de la clase padre. (Consulte este artículo).

Usos:

  • Podemos invocar el método anulado de la clase principal con la ayuda de la palabra clave super.
  • super() se usa para ejecutar el constructor de la clase principal y debe usarse en la primera línea del constructor de la clase derivada.

Implementación:

Java

// Access Super Class Methods and Instance
// Variables With Super Keyword in Java
import java.io.*;
  
// super class
class helloworld {
    
    // instance variable
    String name = "helloworld is the name";
    void print()
    {
        System.out.println("This is the helloworld class");
    }
}
// derived class
class GFG1 extends helloworld {
    
    // invoking the instance variable of parent class
    String name = super.name;
    void print()
    {
        // calling the overriden method
        super.print();
        System.out.println("This is the GFG1 class");
        
        // printing the name
        System.out.println(name);
    }
}
class GFG {
    public static void main(String[] args)
    {
        // instance of the derived class
        GFG1 ob = new GFG1();
        
        // calling the unoverriden method print
        ob.print();
    }
}
Producción

This is the helloworld class
This is the GFG1 class
helloworld is the name

2. Segundo método: sin usar la palabra clave super palabra clave después de la herencia, todos los métodos y variables de instancia de la clase principal son heredados por la clase secundaria. Para que podamos dirigirlos en la clase infantil.

GFG class: parent class
Arraylist class: Derived class

Implementación:

Java

// Access Super Class Methods and Instance
// Variables Without Super Keyword in Java
class Arraylist extends GFG {
    void hello()
    {
        System.out.println("This is the Main class");
    }
    public static void main(String args[])
    {
        // calling the constructor
        Arraylist ob = new Arraylist();
        // calling the inherited name method
        ob.name();
    }
}
class GFG {
    GFG()
    { // constructor of the parent  class
        System.out.println("This is the constructor");
    }
  
    void name() { System.out.println("Hello world"); }
}
Producción

This is the constructor
Hello world

Publicación traducida automáticamente

Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *