l compilador @Java prohíbe la creación en el método de clase interna con el mismo nombre que en la clase externa si las firmas son diferentes

Por qué funciona este código:

class Parent {
    private void methodA(String a){
        System.out.println(a);
    }

    class Inner {

        void test(int a){
            methodA("1");
        }
    }
}

Pero este código no funciona (solo agrego un método a la clase interna con el mismo nombre y otra firma):

class Parent {
    private void methodA(String a){
        System.out.println(a);
    }

    class Inner {

        private void methodA(int a){
            System.out.println(a);
        }

        void test(int a){
            methodA("1");
        }
    }
}

No pregunto cómo hacerlo funcionar. Quiero decir por qué la segunda opción no funciona. Quiero una explicación, no una solución.

Respuestas a la pregunta(2)

Su respuesta a la pregunta