导入Math.PI作为参考或值

我正在准备Java的基本认证。

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

鉴于:

public class Circle { static double getCircumference(double radius ) { return PI * 2 * radius; } public static double getArea(double radius) { return PI * radius * radius; } } 

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

 import java.lang.*; import static java.lang.Math.PI; import java.lang.Math.*; import java.lang.Math; 

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

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

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

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

‘允许Math.PI作为PI常量的引用’意味着您的代码必须看起来像这样才能工作:

 static double getCircumference(double radius ) { return Math.PI * 2 * radius; } public static double getArea(double radius) { return Math.PI * radius * radius; } 

什么import java.lang.Math; 是导入java.lang.Math类,因此您可以使用Math而不是限定版本java.lang.Math来引用它。 import java.lang.Math.*; 对于Math和所有嵌套类都这样做,但不是它的成员。

这个

 import java.lang.Math.*; 

导入Math声明的所有(可访问)类型。

这个

 import java.lang.Math; 

是多余的,因为Math是默认导入的java.lang一部分。

两者都要求你使用

 Math.PI 

进入该领域。

这个

 import static java.lang.Math.PI; 

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