为什么要使用某些方法,必须导入它们的类?

时间:2015-04-02 23:46:54

标签: java

例如,我永远不需要导入Math类来使用它的方法,如Math.sqrt()。

我听说有些人使用硬编码这个词来将Math类称为“预编程到每个API中。”

我看起来了。定义说它意味着某些东西被修复,除非整个程序被修改,否则不能改变。这对我来说听起来更像是最终方法。

2 个答案:

答案 0 :(得分:1)

Java.Lang中的类是隐式导入的,您不必自己导入它们。

硬编码的一个(很多)简单定义:当某些东西被"硬编码"它不是一个变量(任何类型)。

但请注意,硬编码有很多定义,你应该真的提到提到它的人(谢谢Radiodef提醒我)

例如,如果我写了一个函数

public int x() {
    return 2;
}

可以考虑这个功能"硬编码"返回2。

答案 1 :(得分:0)

Java.Lang会自动为我们导入,我们不需要明确导入它。

通常硬编码可能指的是使用一个litteral值而不是在变量中设置该值然后使用变量(但它可能具有更广泛的含义)

另外考虑你的问题的标题和你给出的关于Java.Lang.Math类的例子,我想补充一下。

  • 首先,我们不必为了使用它的方法而导入一个类。我们也可以在不导入的情况下访问给定类的方法,并使用类的完全限定名称(假设我们的应用程序正确引用了包含这些类的库;例如,当类被打包在jar文件中时)

导入语句的基本语法是

import <pkg_name>[.<sub_pkg_name>]*.<class_name>;

OR

import <pkg_name>[.<sub_pkg_name>]*.*;

声明的例子是

import java.util.List;
import java.io.File;
import java.io.*;
import shipping.gui.reportscreens.*;

import语句执行以下操作

  • 优先于所有课程声明
  • 告诉编译器在哪里找到类

现在,例如,如果我不想使用import语句从File类访问方法,我可以使用像

这样的语句
java.io.File file = new java.io.File("C:\\test.txt");

该语句对java

完全有效