Hola, tienes varias cosas que mejorar en este código.
En el constructor:
public Medico (){
nombre = "";
apellidos = "";
edad = 20;
casado = false;
id = "me00000";
especialidad= "cirujano";
}
Lo normal es inicializar a valores false, 0 ó vacío, por tanto un médico recién creado no tendría 20 años de edad, sino el valor 0 que sirve para saber que no ha sido establecida su edad.
Lo más normal sería esto:
public Medico (){
nombre = "";
apellidos = "";
edad = 0;
casado = false;
id = "";
especialidad= "";
}
Y el problema principal: no tienes métodos get y set. El enunciado te pide:
"los métodos para poder establecer y obtener los valores de los atributos"
Los métodos que has definido no están bien planteados.
Vuelve a leer los contenidos del curso y los ejemplos del curso sobre los métodos get y set.
Fíjate también en cómo lo han resuelto otros compañeros en el foro:
https://www.aprenderaprogramar.com/foros/index.php?topic=1132Una vez hayas releído y revisado lo ideal es que trates de escribir tú mismo el código, si eres capaz de hacerlo será que habrás entendido bien los conceptos, que es lo interesante...
Saludos