public class Numero {

  private int _numero;

  public Numero(int n) {
    _numero = n;
  }

  public int obtemValor() {
    return _numero;
  }
}


public class OperaaoMais {

  private Numero _arg1;
  private Numero _arg2;


  public OperaaoMais(Numero n1, Numero n2) {
    _arg1 = n1;
    _arg2 = n2;
  }

  public Numero calcula() {
    return new Numero(n1.obtemValor() + n2.obtemValor());
  }
}


public class Main {

  public static void main(String []args) {
    Numero n1 = new Numero(1);
    Numero n2 = new Numero(2);
    Numero n3 = new Numero(3);

    OperacaoMais op1 = new OperacaoMais(n1, n2);
    OperacaoMais op2 = new OperacaoMais(n3, op1.calcula());

    System.out.println("Resultado final: " + op2.calcula().obtemValor());
  }
}