Hola KillerNemesis!
Tu ejercicio cumple con lo requerido, no obstante hay algunos puntos a comentar.
1ro: El nombre de tu clase no es apropiado por el "simple" hecho de pluralizar. En POO
(Programacion Orientada a Objetos) es preferible no pluralizar al momento de dar nombre a una clase, porque? bueno! un ejemplo logico seria: Cuando creas una instancia de clase (objeto) mediante una sintaxis como: Medicos medico = new Medicos(); estas creando un solo objeto y no varios objetos Medicos, una clase define objetos pero por separado, entonces es mas logico que tu clase Medicos use su nombre en singular "Medico".
2do: A diferencia de los metodos Setter, en tus metodos Getters no has implementado la regla camelCase: Esta es la regla o estilo camelCase, exactamente su variación lowerCamelCase
http://es.wikipedia.org/wiki/CamelCase donde se usan palabras o frases compuestas, y donde
la primera palabra se escribe en letras minúsculas y cada primera letra de las posibles
siguientes palabras se escriben en mayúsculas.
3ro: Has declarado: public int age() {return age;} donde debiste decarar: public int getAge() {return age;} (olvidaste anteponer la palabra "get").
4to: A modo de consejo, te sugiero inicializar las variables name, lastname specialty y DNI con valor = "Unknown"; en lugar de valor = "";
De mi parte eso es todo.
while(true)
{
System.out.println("Saludos!
");
}