Cuando una clase extiende una clase, que extiende otra clase, esa clase se llama herencia multinivel. Por ejemplo, la clase C extiende la clase B y la clase B extiende la clase A, por lo que este tipo de herencia se conoce como herencia multinivel.
Veamos esto en un diagrama:
Herencia multinivel

Está bastante claro con el diagrama que existe un concepto de clase no padre en la herencia multinivel. Si tomamos el ejemplo de este diagrama, la clase C hereda la clase B y la clase B hereda la clase A, lo que significa que B es una clase padre de C y A es una clase padre de B. Entonces en este caso la clase C hereda implícitamente propiedades y métodos de la clase A junto con la clase B, que es lo que se llama herencia multinivel.

Para aprender los conceptos básicos de la herencia, consulte este tutorial: Herencia en Java

Ejemplo de herencia multinivel

En este ejemplo tenemos tres clases: Car, Maruti es Maruti800. Hicimos una configuración: la clase Maruti se extiende Car y clase Maruti800 se extiende Maruti. Con la ayuda de esta configuración de jerarquía multinivel, nuestra clase Maruti800 puede utilizar los métodos de ambas clases (Auto y Maruti).

class Car{
   public Car()
   {
	System.out.println("Class Car");
   }
   public void vehicleType()
   {
	System.out.println("Vehicle Type: Car");
   }
}
class Maruti extends Car{
   public Maruti()
   {
	System.out.println("Class Maruti");
   }
   public void brand()
   {
	System.out.println("Brand: Maruti");
   }
   public void speed()
   {
	System.out.println("Max: 90Kmph");
   }
}
public class Maruti800 extends Maruti{

   public Maruti800()
   {
	System.out.println("Maruti Model: 800");
   }
   public void speed()
   {
	System.out.println("Max: 80Kmph");
   }
   public static void main(String args[])
   {
	 Maruti800 obj=new Maruti800();
	 obj.vehicleType();
	 obj.brand();
	 obj.speed();
   }
}

Producción:

Class Car
Class Maruti
Maruti Model: 800
Vehicle Type: Car
Brand: Maruti
Max: 80Kmph
leer  Recolección de basura en Java

Por avivcas

Deja una respuesta

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