Classe Math

Dúvida boba, mas como quero muito aprofundar meus conhecimentos em OO, não posso passar em branco.

Não se preocupem com o código. Peguei trecho desse código.

import java.util.Scanner;
import java.lang.Math; //Sei que não é necessário importar essa classe ou classes do pacote lang.

Math m = new Math(); //Por que não funciona se eu instanciar? Seria porque tem o qualificador static em sua assinatura? Logo não é preciso instanciar (criar um objeto) da classe, bastando invocar a partir da própria classe?

Scanner s = new Scanner(System.in);

double d = m.sqrt(16); //Sei que o correto é double d = Math.sqrt(16);

Como fico sabendo as assinaturas das classes da API do Java por uma IDE? É possível? Ou somente consultando a documentação oficial da Oracle.

Obrigado.

O construtor da classe Math é privado, por isso você não consegue instanciar da forma “tradicional”.
Mas é possível sim.

Segura Ctrl e clica em cima do nome da classe, ai você verá ela por “dentro”

1 curtida