¿Por qué se usan paréntesis alrededor de un nombre de clase en Java?
Me encontré con un código y no puedo entender un cierto aspecto, ¡aunque he realizado una búsqueda exhaustiva!
Mi pregunta es: ¿por qué las clases a veces se declaran entre paréntesis como en el siguiente código?
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();
}
}
donde mi enfoque es en esta línea de código en particular:
Animal myAnimal = (Animal)myCat;
Creo que tiene algo que ver con el hecho de que una clase se extiende a otra pero no estoy seguro de lo que significa la clase definida entre paréntesis.
Cualquier ayuda en esto es apreciada. Gracias de antemano.