Warum werden in Java Klammern um einen Klassennamen verwendet?

Ich bin auf einen Code gestoßen und kann einen bestimmten Aspekt davon nicht verstehen, obwohl ich einige umfangreiche Suchen durchgeführt habe!

Meine Frage ist: Warum werden Klassen manchmal in Klammern deklariert, wie im folgenden Code?

public class Animal {

    public static void hide() {
        System.out.println("The hide method in Animal.");
    }

    public void override() {
        System.out.println("The override method in Animal.");
    }
}

public class Cat extends Animal {

    public static void hide() {
        System.out.println("The hide method in Cat.");
    }

    public void override() {
        System.out.println("The override method in Cat.");
    }

    public static void main(String[] args) {
        Cat myCat = new Cat();
        Animal myAnimal = (Animal)myCat;
        myAnimal.hide();
        myAnimal.override();
    }
}

Wo liegt mein Fokus auf dieser Codezeile im Besonderen:

            Animal myAnimal = (Animal)myCat;

Ich glaube, es hat etwas mit der Tatsache zu tun, dass eine Klasse eine andere erweitert, aber ich bin nicht sicher, was die in Klammern definierte Klasse bedeutet.

Jede Hilfe hierzu wird gebeten. Danke im Voraus.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage