导入Java包和类

时间:2015-03-25 18:09:22

标签: java

我说的是我们导入的东西

假设有类似的东西:

import java.util.Scanner;

util是包,Scanner是类,对吧?

这可以永远概括,并说在import语句中,第一个是java / javax(还有其他吗?),第二个包,第三个类和第四个,如果有的话,将永远是属于该类的方法吗?

是否有任何例外,如果是,请为其命名。

4 个答案:

答案 0 :(得分:4)

  

这可以永远概括,并且可以说在import语句中,第一个是java / javax(还有其他吗?),第二个包,第三个类和第四个,如果有的话总是属于类的方法?

不是,不。

该软件包为java.util,您肯定会查看其他软件包,包括您撰写的软件包。

在正常的import语句中,它将是一个包,然后是特定的类名或*(用于导入包中的所有类)。但是类名可以是嵌套的类名,所以你可以拥有:

import foo.bar.Outer.Nested;

其中foo.bar是包名称,Outer.Nested是类名。

然后是静态导入,您可以在其中导入类的成员,例如

import static java.lang.Math.sqrt;

有关详细信息,请参阅Java tutorial on imports

答案 1 :(得分:0)

不,它不需要从java开始,你可以使用任何东西作为包名。通常,包名称具有以下模式:com.someone.project.any.package.Class其中com.someone表示域,project项目名称和any.package项目内的包层次结构。这只是一个惯例,但我建议你使用它。

另请查看:https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

答案 2 :(得分:0)

来自andEngine库的简单示例:

org.andengine.entity.modifier.FadeOutModifier;

你可以看到它有四个点头。最后一个是类,扩展修饰符类,扩展实体类,在org.andengine包中......它也不是以java开头。

希望它解释一下

答案 3 :(得分:0)

在你的例子中

import java.util.Scanner;

java.util是包,Scanner是您从该包导入的类,以便编译器可见。

例如,请参阅相当普通的java文件的imports部分中的这些行:

import java.util.Map;
import com.google.common.collect.ImmutableMap;
import org.apache.commons.lang.StringUtils;

这些都是有效的导入,导入Map包中的java.util界面,ImmutableMap包中的com.google.common.collect类等。