Extender dos clases en Java

Mohammad Irfan 12 octubre 2023
  1. Extender una clase en Java
  2. Extender dos clases en Java
  3. Extender dos interfaces en Java
Extender dos clases en Java

Este tutorial presenta cómo extender dos o más clases en Java. También incluimos algunos códigos de ejemplo para ayudarlo a comprender el tema.

La herencia es una característica de Java OOP que permite extender una clase a otra clase para acceder a las propiedades de una clase. Java permite extender la clase a cualquier clase, pero tiene un límite. Significa que una clase puede extenderse solo una clase a la vez. La extensión de más de una clase provocará fallas en la ejecución del código.

Cuando una clase extiende una clase, entonces se llama herencia única. Si una clase se extiende a más de una clase, se denomina herencia múltiple, lo que no está permitido en Java.

Veamos algunos ejemplos y comprendamos el concepto completo.

Extender una clase en Java

Java no permite herencias múltiples. En este ejemplo, creamos dos clases. Una clase se extiende a otra y se ejecuta bien; esto significa que Java permite la extensión de una sola clase. Aún así, ¿y si ampliamos dos clases? Veremos esto en el siguiente ejemplo a continuación.

class Run {
  int speed;
  void showSpeed() {
    System.out.println("Current Speed : " + speed);
  }
  public class SimpleTesting extends Run {
    public static void main(String[] args) {
      SimpleTesting run = new SimpleTesting();
      run.showSpeed();
      run.speed = 20;
      run.showSpeed();
    }
  }
}

Producción :

Current Speed : 0
Current Speed : 20

Extender dos clases en Java

En este método de ejemplo, una clase extiende dos clases, lo que implica múltiples herencias. Java no permite este proceso, por lo que el código no se ejecuta y da un error de tiempo de compilación. Vea el ejemplo a continuación.

class Run {
  int speed;
  void showSpeed() {
    System.out.println("Current Speed : " + speed);
  }
}
class Car {
  String color;
  int topSpeed;
}
public class SimpleTesting extends Run, Car {
  public static void main(String[] args) {
    SimpleTesting run = new SimpleTesting();
    run.showSpeed();
    run.speed = 20;
    run.showSpeed();
  }
}

Producción :

error

Extender dos interfaces en Java

No se permiten dos clases, pero una clase puede extender dos interfaces en Java. Este lenguaje permite extender dos o más interfaces en una clase. Este código se ejecuta sin problemas y sin ningún error. Entonces, si desea extender múltiples herencias, sería mejor usar la interfaz. Vea el ejemplo a continuación.

interface Run {
  int speed = 10;
  static void showSpeed() {
    System.out.println("Current Speed : " + speed);
  }
}

interface Car {
  String color = "Red";
  int topSpeed = 100;
}

public class Main implements Run, Car {
  public static void main(String[] args) {
    Main run = new Main();
    Run.showSpeed();
    System.out.println("Top Speed " + Car.topSpeed);
  }
}

Producción :

Current Speed : 10
Top Speed 100

Artículo relacionado - Java Class