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.