Java: llamar a un método estático en el método main ()

Se supone que debo hacer lo siguiente:

Escriba un programa de aplicación Java (Cliente) con un método estático llamado generateEmployees () que devuelve una lista aleatoria de 10 tipos diferentes de objetos Employee. Puede usar una matriz o un ArrayList para almacenar los objetos de empleado que se devolverán. Utilice un bucle for para rellenar aleatoriamente diferentes tipos de objetos de empleado con algunos datos aleatorios. Posiblemente podría pensar en un rango de valores como 1 - 4. Si el valor aleatorio es 1, cree un objeto HourlyEmployee con algunos datos generados aleatoriamente, si 2, SalariedEmployee objete con algunos datos aleatorios y así sucesivamente. Dejaría a su ingenio generar y poblar estos diferentes objetos de Empleado. A medida que se generan estos objetos, agréguelos a su estructura de datos (matriz o ArrayList que está usando). Finalmente el método devuelve esta estructura de datos.

En la misma clase de aplicación, implemente el método main (). Llame al método staticEmployees () generado y use un for for para imprimir los detalles de cada uno de los empleados junto con sus ganancias en la ventana del terminal.

El método estático de genera un número de empleados () es el siguiente (puede que no sea correcto ... también, los datos no se han generado de forma aleatoria porque no estoy exactamente seguro de cómo hacerlo, al menos en lo que respecta al nombre y apellido están preocupados.):

public static Employee[] generateEmployees()
{
    Employee[] employees = new Employee[10];
    int randomNum = 0;

    for (int i = 0; i < 10; i++)
    {
        Random random = new Random();
        randomNum = random.nextInt(4) + 1;

         switch (randomNum)
         {
            case 0:
                employees[i] = new SalariedEmployee("Bri", "Gefroh", 123, 1000);
                break;
            case 1:
                employees[i] = new HourlyEmployee("Bri", "Gefroh", 123, 12.50, 10);
                break;
            case 2:
                employees[i] = new CommissionEmployee("Bri", "Gefroh", 123, 10000, 0.05);
                break;
            case 3:
                employees[i] = new BasePlusCommissionEmployee("Bri", "Gefroh", 123, 10000, 0.05, 2500);
                break;
         }
    }

    return employees;
}

¿Cómo llamaría a este método y lo usaría en el método main ()? Cada uno de esos cuatro tipos de empleados son subclases de la clase Empleado, y cada subclase tiene su propio método toString (), que es lo que creo que debo emitir.

Respuestas a la pregunta(4)

Su respuesta a la pregunta