导入Math.PI作为参考或值

use*_*831 2 java math import static pi

我正准备用Java进行基本认证.

我对一个我正确的问题(!)的答案感到有些困惑: -

鉴于:

 public class Circle {
     static double getCircumference(double radius ) {
          return PI * 2 * radius;
     }
     public static double getArea(double radius) {
          return PI * radius * radius;
     }
}
Run Code Online (Sandbox Code Playgroud)

哪个import语句将使代码能够编译和运行?

import java.lang.*;

import static java.lang.Math.PI;

import java.lang.Math.*;

import java.lang.Math;
Run Code Online (Sandbox Code Playgroud)

我回答了import static java.lang.Math.PI;

但下面两个其他选项的解释让我感到困惑: -

语句导入java.lang.Math; 并导入java.lang.Math.*; 不会启用代码编译和运行.这些import语句只允许Math.PI作为PI常量的引用.

我的问题是:导入语句只允许引用PI常量会出现什么问题?价值是否未初始化为零?

Sot*_*lis 5

这个

import java.lang.Math.*;
Run Code Online (Sandbox Code Playgroud)

导入在其中声明的所有(可访问)类型Math.

这个

import java.lang.Math;
Run Code Online (Sandbox Code Playgroud)

是多余的,因为默认情况下导入其中Math一部分java.lang.

两者都要求你使用

Math.PI
Run Code Online (Sandbox Code Playgroud)

进入该领域.

这个

import static java.lang.Math.PI;
Run Code Online (Sandbox Code Playgroud)

导入static成员,Math.PI以便您可以在源代码中使用其简单名称.