1
resposta

Porque será que meu código não imprime C B A A no minuto 23min do video?


import java.io.IOException;

class A {
    public void metodo() {
        System.out.println("a");
    }
}

class B extends A {
    public void metodo() {
        System.out.println("b");
        super.metodo();
    }
    public void metodo2() {
        System.out.println("c");
        metodo();
        super.metodo();
    }
    public static void main(String[] args) {
        new B().metodo2();
    }
}

class Veiculo {
    public void liga() throws java.io.IOException {
        System.out.println("O veiculo está sendo ligado");
    }
}

class Helicoptero extends Veiculo {
    public void liga() throws java.io.FileNotFoundException {
        System.out.println("Ligando o helicoptero");
    }
}

abstract class Droid extends Veiculo {
    public abstract void liga();
}

class HexaDroid extends Droid {
    public void liga() {
        System.out.println("hexa");
    }
}

class FabricaDeVeiculo {
    Veiculo fabrica() {
        return new Veiculo();
    }
}

class FabricaDeHexaDroid extends FabricaDeVeiculo {
    HexaDroid fabrica() {
        return new HexaDroid();
    }
}

public class TestaReescrita {
    static void metodo(Veiculo v) throws IOException {
        v.liga();
    }
    public static void main(String[] args) throws java.io.IOException {
        metodo(new HexaDroid());
        metodo(new Veiculo());
        metodo(new Helicoptero());
    }
}
1 resposta

Oi Felipe

Seu código vai imprimir C B A A, mas tem que rodar o método main da classe B.java

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software