案例分析
- 第2种方式导入包的效率要高于第1种。
- 加载类的顺序跟import导入语句的位置无关。
- “import 包名.*”只能访问指定包名下的类,无法继续访问子包下的类。
- 若包导入中的类冲突时,其中一条用".*"方式来替代导入方式,但是使用同一个类时,哪条导入包语句更具体到类,对应那条优先加载为该类;如果想要用“.*”的冲突类,需要具体用第3种方式写死路径。(即:如果import引入的不同的包中包含有相同的类名那么这些类的使用必须加上包名)
- 引用一个包中的多个类,如import java.awt.*。*号代替类名,但不能代替包名,如import java.awt.*,只引用java.awt下的类,而不引用java.awt下的子包里面的类。
- import java.awt.F*,这种使用方法是错误的。
- import语句在所有类定义之前,在package定义之后。import只告诉编译器及解释器哪里可以找到类、变量、方法的定义,而并没有将这些定义引入代码中。
- 如果要使用的类是属于java.lang包的,那么可以直接使用类名来引用指定的类,而不需要加上包名,因为包java.lang不用显示使用import,它是缺省引入的。
- 如果在类的定义之前没有使用package定义包名,那么该类就属于缺省的包。
- 包的使用:使用 package 关键字指明类所在的包。package 语句必须在文件的最前面。编译时可使用 javac-d.Testjava 自动产生包需要目录。可以使用java testPackage.Test来执行编译后的代码。