Hola Raga
Tu ejercicio está muy bien. OK.
Quiero aportar un detalle para tenerlo en cuenta en adelante.
Según las convenciones de nombres en Java, los objetos/instancias de clase empezarán con minúscula, como las variables, atributos y métodos para distinguirlos de las clases que empiezan con mayúscula.
La siguiente declaración en la clase Test:
ListaCantantesFamosos CantantesItalianos;
debería ser
ListaCantantesFamosos cantantesItalianos;
Y por último, aunque el código es operativo al 100%
En la clase ListaCantantesFamosos creas un segundo constructor que hace lo mismo que el primero (inicializar el atributo listaCantantes) y además añade 3 cantantes.
Si las líneas para añadir los 3 cantantes las hubieras puesto en el main, el programa funcionaría igual.
Además, si quieres empezar el programa con un número distinto de cantantes, con tu código, tendrás que modificar ese constructor cada vez que haya cambios.
En cambio si no usas ese constructor, estos cambios solo los has de hacer en el main, y la clase ListaCantantesFamosos sin tocarla te sirve para cualquier número de cantantes.
Saludos