①包

编写程序,可能会写成千上百个类,我们需要对类进行分类,使用包这个关键字(package)

同名的类在不同的包就不会产生冲突

关于使用package包管理会有一些规定。

1、对于package的名字虽然没有硬性规定,但通常会以组织或单位的网址进行命名,比如若网址为facenoboy.com,则包名就是com.facenoboy,由于网址都独一无二的这样具有唯一性

2、完全吻合名称(Fully Qualified Name),比如HelloWorld.java文件放在了com.facenoboy这个包,那么完全吻合名称就是com.facenoboy.HelloWorld。在写java程序源码的时候,如果是同一个包,我们可以直接使用定义的类名,如果是不同的包,我们就要使用这个完全吻合名称

 

②导入

有了完全吻合名称,Java编译器就可以很容易地定位到源代码或者类,但完全吻合名称很长,为了避免麻烦,可以使用导入语句,在文件开头用import关键字导入包名,使用时可以直接使用类名,编译程序就会在编译时和import比对,如果需要导入一个包的多个类,可以直接使用import com.facenoboy.*;星号表示全部

但import不一定是万能的。

当我们自己定义了一个类名和Java SE API里的类名冲突了(不建议这么定义),导入包后编译程序会不知道该用哪一个包,存在这种情况发生,就必须规规矩矩写全名称。切记不是所有情况都可以简写。

在我们写程序的时候,比如HelloWorld,其实有很多Java SE API自带的类,比如System,之所以没有导入包也没有写全名称是因为,java.lang这个包由于过于常见,是可以直接使用的包。

 

③源文件规则

一个源文件中只能有一个public类,但可以有多个非public类

源文件的名称应该和public类的类名保持一致

package包声明必须放在源文件的首行,接着是import导入语句,然后是类定义。