Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Aplique princípios de encapsulamento a uma classe - Exercício 5

class B{
    private final int b;
    B(int b) { this.b = b;}
    public int getB() { return b; }
    public void setB(int b) { b= b; }
}
class A {
    public static void main(String[] args) {
        B b = new B(10);
        b.setB(5);
        System.out.println(b.getB());
    }
}

Não era nem para compilar. Pois estamos tentando alterar uma variável final no construtor.B b = new B(10);

Gostaria de mais explicações, por favor.

1 resposta
solução!

Olá Delmo,

No java o único momento que podemos mudar a variável final é dentro de seu construtor, caso ela já não esteja inicializada. Se tirarmos do construtor também não compilará.

Espero ter ajudado