Bueno basicamente no has respondido ninguna entonces
Te ayudo con la primera, que es la que has practicado, lo que te plantea el ejercicio, teniendo una clase Persona, que has creado correctamente.
Te indican, si podría ser posible que en la clase TripulacionAvion (que nos da lo mismo que atributos tenga y constructores etc.. es teorico) pero te da la siguiente información;
Considera una clase Java que se denomina TripulacionAvion y que tiene como atributos a tres objetos de tipo Persona:
Persona piloto; Persona copiloto1; Persona copiloto2.Las tres instancias son de la clase Persona, y te dice podría en algun momento los tres piloto, copiloto1,copiloto2 apuntar a la misma instancia?
Yo te digo que sí sería posible de la siguiente forma, imaginate el siguiente constructor en TripulacionAvion:
public TripulacionAvion(){
piloto = new Persona();
copiloto1 = piloto;
copiloto2 = piloto;
}
Aquí piloto, que esta declarado como persona, se inicializa como new Persona() y una vez creado, a copiloto1 (Persona) se le asigna piloto, es decir apunta a la informacion de piloto (que tambien es Persona) y lo mismo para copiloto2.
Espero haberte ayudado un poco, tu clase TripulacionAvion le sobrarian los atributos que ya tiene Persona.
private String nombre;
private String apellido;
private String especialidadAvion;
private String añosExperiencia;
Y el error que comentas de inalcanzable es debido a que le devuelves 3 return a la función, cuando solo puedes darle 1, esta esperando que devuelvas 1 PErsona, y lo haces con return piloto; el resto de returns ya no los usa