Buenas Toni, como siempre gracias.
Imaginaba que lo de public o private venía dado por el método, ya me lo confirmas y me quito la duda.
Sobre clases reutilizables, de momento intento hacerlo todo de nuevo, para practicar y por eso quizá cambian de un ejercicio a otro.
Lo de pedir añadir nuevo yo quise hacer un menu, donde se pueden añadir tantos como quieran, pero si que es cierto, que se pedía añadir uno sí o sí y mi código no lo contempla, permite salirse sin añadir, lo retocaré para cumplir lo solicitado.
Gracias Toni tus comentarios de apoyo me animan a seguir.
MODIFICO, aquí va la clase Gestor que obliga a añadir mínimo un cantante para poder salir de la aplicación. Gracias, en el futuro respetaré primero lo que pide exactamente. Al final es lo capital.
public class GestorLista{
public static void main(String[] args){
boolean añadirNombre = false; //boolean que asegura que se ha añadido un cantante mínimo.
boolean semaforo = false;
ListaCantantesFamosos lista = new ListaCantantesFamosos(); //creamos nuevo Objeto ListaCantantesFamosos
lista.imprimirCantantes();
System.out.println(" \n Estos son los cantantes actuales de la Lista de Cantantes Famosos \n");
while (semaforo == false){
System.out.println("\n Elige que operacion deseas realizar indicando el número: \n\n 1.- Añadir nuevo cantante \n 2.- Mostrar lista cantantes \n 3.- Salir \n");
RecogerDatos entrada = new RecogerDatos();
switch(entrada.recogerNumero() ){
case 1: { lista.añadirCantante(entrada.recogerNombre()); añadirNombre = true; break; }
case 2: { lista.imprimirCantantes(); break; }
case 3: { if(añadirNombre == true){ semaforo = true; break;}else { System.out.println("Debes añadir por lo menos un nuevo cantante para poder salir"); } }
} //final switch
} // final while
} //final main
}