Hola a todos, tengo una duda de conceptos sobre herencia y polimorfismo que me es complicada de entender.
Quiero crear una clase que acepte cualquier tipo de numero entero y guarde el valor en una variable de tipo BigInteger.
Código:
public class Numero {
private BigInteger valor;
public Numero( Number n ) {
valor=new BigInteger( n.toString() );
}
@Override
public String toString() {
return this.valor.toString();
}
...
Si hago...
Código:
int b=100;
Numero n=new Numero( b );
Eso guarda el valor de b en el BigInteger correctamente, pero no entiendo el mecanismo de lo que ocurre. El toString() del constructor de donde sacó el "100"?. Si el parametro Number n se convierte a int n, y hago n.toString() estaré invocando al toString() de la clase Number, ya que int no tiene.. Y si es el de la clase Number....
...cómo sabe este método el valor del int???.
Esta bien esa sentencia asi?, otra forma de hacerlo mejor?.
Gracias.