java - 导入 Math.PI 作为引用或值

标签 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;
     }
}

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

import java.lang.*;

import static java.lang.Math.PI;

import java.lang.Math.*;

import java.lang.Math;

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

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

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

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

最佳答案

这个

import java.lang.Math.*;

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

这个

import java.lang.Math;

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

两者都需要你使用

Math.PI

访问字段。

这个

import static java.lang.Math.PI;

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

关于java - 导入 Math.PI 作为引用或值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28770927/

相关文章:

java - 在 C++ 和 Java 之间共享定义或枚举

java - Java未报告的异常,读取输入流

查找集合中所有连续子串之和的算法

android - 在 android studio 中禁用运行按钮

javascript - 具有动态属性的假对象

ruby-on-rails - 有什么工具可以将产品表导入spree

java - 在 Spring 中使用 Bcrypt

java - Spring Security SAML - 如何配置客户端身份验证?

javascript - 如果我有一个 lat/lng,我假设它位于 0,0 那么我如何计算另一对 lat/lng 的 x, y 坐标?

python - python中的多维卷积