首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Math.PI作为引用或值导入

将Math.PI作为引用或值导入
EN

Stack Overflow用户
提问于 2015-02-28 01:30:55
回答 2查看 25.7K关注 0票数 2

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

我对我答对的一个问题的答案有点困惑(!):

给定:

代码语言:javascript
复制
 public class Circle {
     static double getCircumference(double radius ) {
          return PI * 2 * radius;
     }
     public static double getArea(double radius) {
          return PI * radius * radius;
     }
}

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

代码语言:javascript
复制
import java.lang.*;

import static java.lang.Math.PI;

import java.lang.Math.*;

import java.lang.Math;

我回答了导入静态java.lang.Math.PI;

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

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-28 01:33:39

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

代码语言:javascript
复制
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和所有嵌套类执行相同的操作,但不是它的成员。

票数 3
EN

Stack Overflow用户

发布于 2015-02-28 01:33:26

代码语言:javascript
复制
import java.lang.Math.*;

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

代码语言:javascript
复制
import java.lang.Math;

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

两者都要求您使用

代码语言:javascript
复制
Math.PI

来访问该字段。

代码语言:javascript
复制
import static java.lang.Math.PI;

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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28770927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档