Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Ao compilar o código a seguir, a saída foi "1" em vez de "t", como diz a resposta da questão.

class B { 
    protected String s = "a";
    protected B() {}
    static A B(String s) {
        return new A(s);
    }
}
class A extends B {
    A(String s) {
        this.s = s;
    }
    public static void main(String[] args) {
        A b = A.B("t");
        System.out.println(b.s);
    }
}
2 respostas
solução!

Olá Igor,

a saída aqui foi o "t" esperado. O código não contém nenhum "1", você deve estar executando um código de outra classe. Dá uma checada aí e me avisa se não encontrar o erro..

Obrigado! Era isso mesmo. Que descuido.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software