Bueno, te dejo unas indicaciones. Lo que tienes que hacer es crear un array del supertipo de la herencia, es decir Persona, y en el añades la persona y el empleado creándolos y agregándolos al array.
  
Código:
 Persona[] array = new Persona[2];
Persona p = new Persona ();
Empleado e = new Empleado ();
array[0] = p;
array[1] = (Persona)e; // aquí estariamos perdiendo la funcionalidad de la clase Empleado.
  A la hora de recuperarlo tendrás que hacer un casting para poder volver a acceder a los métodos de empleado:  
Código:
 Empleado e2 = (Empleado)array[1];
e2.mostrarDatos ();
  Espero que te ayude un poco la idea. 
Para hacerlo más correcto, yo usaría el operador instanceof, y de paso te pongo lo que creo que pides:  
Código:
 for (int x = 0; x < array.length(); x++){ 
    if (array[x] instanceof Empleado){
        Empleado e = (Empleado)array[x];
        e.mostrarDatos ();
    } else {
        if (array[x] instanceof Persona) {
            Persona p = array[x];
            p.mostrarDatos ();
        }
    }
}
  Espero que la sintaxis sea correcta, ya que lo he heho a pelo, sin probar el código. 
Un saludo.