Estenda duas classes em Java

Mohammad Irfan 12 outubro 2023
  1. Estenda uma classe em Java
  2. Estenda duas classes em Java
  3. Estenda duas interfaces em Java
Estenda duas classes em Java

Este tutorial apresenta como estender duas ou mais classes em Java. Também incluímos alguns códigos de exemplo para ajudá-lo a entender o tópico.

Herança é um recurso Java OOPs que permite estender uma classe para outra classe para acessar as propriedades de uma classe. Java permite estender classe para qualquer classe, mas tem um limite. Isso significa que uma classe pode estender apenas uma única classe de cada vez. Estender mais de uma classe levará à falha na execução do código.

Quando uma classe estende uma classe, isso é chamado de herança única. Se uma classe estende mais de uma classe, ela é chamada de herança múltipla, o que não é permitido em Java.

Vamos ver alguns exemplos e entender o conceito completo.

Estenda uma classe em Java

Java não permite várias heranças. Neste exemplo, criamos duas classes. Uma classe se estende a outra e executa bem; isso significa que o Java permite a extensão de uma única classe. Ainda assim, e se estendermos duas classes? Veremos isso no exemplo a seguir.

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

Produção:

Current Speed : 0
Current Speed : 20

Estenda duas classes em Java

Neste método de exemplo, uma classe estende duas classes, o que implica várias heranças. Java não permite esse processo, então o código não é executado e dá um erro de tempo de compilação. Veja o exemplo abaixo.

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

Produção:

error

Estenda duas interfaces em Java

Duas classes não são permitidas, mas uma classe pode estender duas interfaces em Java. Esta linguagem permite estender duas ou mais interfaces em uma classe. Este código é executado sem problemas, sem erros. Portanto, se você deseja estender várias heranças, é melhor usar a interface. Veja o exemplo abaixo.

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

Produção:

Current Speed : 10
Top Speed 100

Artigo relacionado - Java Class