El problema que tenes es que tu lista la declaraste como List< Object > lista... y cuando queres iterar queres que el elemento sea de una clase en especifico lo cual esta mal, si la lista es de Object, cuando hagas el foreach tambien tenes que iterarlo como object, despues de asegurarte que es de una instancia especifica tenes que hacer el casteo.
Por Ejemplo
//Recorremos la lista de objetos
for (Object item : lista){
//Verificacmos que el item sea una instancia de Pelicula
if (item instanceof Pelicula){
// Al saber que es una instancia de Pelicula hacemos el casteo directo
Pelicula pelicula = (Pelicula) item;
//Resto del codigo...
if(pelicula.getClasificacion() > 2){
System.out.println(pelicula.getCalsificacion());
}
}
}
tambien podemos ver si es una instancia de Serie, solo agregamos otro if el cual lo verifica y podemos hacer el casteo directo... Tambien si hambos vienen de una clase padre como Titulo (creo que tenia la clase padre) y como clasificacion es una propiedad heredada podes hacer lo siguiente
List<Titulo> lista = new ArrayList<>();
//agregas elementos a tu lista y lo recorremos de la siguiente manera
for (Titulo item : lista){
System.out.println(item.getNombre());
if (item.getClasificacion()>2){
System.out.println(item.getClasificacion());
}
}
Como las propiedades Nombre y Clasificacion provienen de un objeto padre en este caso Titulo, podemos hacerlo de la siguiente manera evitando casteos innecesarios, OJO: solo funciona si los atributos y los metodos son heredados de una clase padre.
En caso de que quieras acceder a algun metodo o atributo de una clase especifica, ahi si, tenes que hacer el casteo y despues acceder a lo que necesites