1
resposta

Eu não entedi porque compila e imprime Z;

class B {
    void y() {
        this.z();
    }
    static void z() {
        System.out.println("z");
    }
}
class A {
    public static void main(String[] args) {
        new A().x();
    }
    static void x() {
        new B().y();
    }
}

Porque a linha onde executa "this.z" funciona ? Isso não é questão de método não estático acessando método estático ?

1 resposta

No exercício vi que era um método não estático estendendo de um método estático, o que não é o caso do exemplo acima. Por isso que compila e imprime 'z'.