Exterior vs. Súper clase

Super tiene mayor prioridad que la clase externa?

Considerar tenemos tres clases:

Clase Clase Clase anónima en ClassB que extiende ClassA

ClassA.java:

public class ClassA {
    protected String var = "A Var";

    public void foo() {
        System.out.println("A foo()");
    }
}

ClassB.java:

public class ClassB {
    private String var = "B Var";

    public void test() {

        new ClassA() {
            public void test() {
                foo();
                System.out.println(var);
            }
        }.test();
    }

    public void foo() {
        System.out.println("B foo()");
    }
}

Cuando llamonew ClassB().test(), Obtengo el siguiente resultado (que es bastante esperado):

A foo()
A Var

Pregunta: ¿Se define en algún lugar que la clase interna toma (métodos y miembros) primero de la superclase y luego de la clase externa o es JVMDepende de la implementación del compilador? He revisado el JLS (§15.12.3) pero no pude encontrar ninguna referencia para eso, tal vez se señala allí, pero no entendí algunos de los términos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta