[RESOLVIDO] Duvida na classe Math

2 respostas
java
1jahnke

Por que o método random() da classe Math é chamado usando o nome da classe e não uma referência a um objeto?

2 Respostas

D

Porque o método random está declarado como static. O random pode ser chamado assim:

Random objetoRandom = new Random();

Portanto podemos supor que na classe Math esteja assim:

public class Math {
  private static final Random RANDOM = new Random(); // objeto instanciado
  public static double random() {
    return RANDOM.nextDouble();
  }
}

Dessa forma, não há necessidade de instanciar vários Random e o mesmo Random pode ser acessado em qualquer parte da aplicação.

Podemos também criar nosso próprio Math:

public class CustomMath {
  private static final Random RANDOM = new Random(); // objeto instanciado
  public static double random() {
    return RANDOM.nextDouble();
  }
}
1jahnke

Muuuuito obrigada, diego

Criado 23 de junho de 2018
Ultima resposta 27 de jun. de 2018
Respostas 2
Participantes 2