1.包(package)
- 包:java提供的一種管理類文件的機(jī)制,就是包(文件夾)。
- 一個(gè)完整的類名需要包名與類名的組合,每個(gè)類都屬于一個(gè)包,沒有定義包的類被歸納在預(yù)設(shè)包(默認(rèn)包),實(shí)際開發(fā)中,應(yīng)該為所有的類設(shè)置包名。
- package語句必須是程序中的第一行非注釋代碼。
- 包的命名規(guī)則:全部使用小寫字母。
- 同一個(gè)包中的類相互訪問時(shí),可以不指定包名。
2.關(guān)于文件的一些知識(shí)
- java后綴的文件在使用編譯器編譯(javac)后,每個(gè)類會(huì)形成一個(gè)class后綴的文件。
- 如果程序中定義了包,那么編譯形成的類完整的類名為包名加類名,使用過程中也必須使用完整類名,且類文件(.class)必須在指定的包文件下。
- 建立包層有兩種方式,自動(dòng)建立和手動(dòng)建立。
3.程序理解
package zhangsan.lisi;
class A
{
void show()
{
System.out.println("嘿嘿");
}
}
class Test
{
public static void main(String[] args)
{
new A().show();
}
}
-
package zhang.lisi;表示:
把該文件中的所有類放入zhangsan.lisi這個(gè)包中。 - 編譯時(shí)盡量使用javac -d . 文件名
-d表示自動(dòng)建立包層
.表示在當(dāng)前目錄下建立
如果沒有自動(dòng)建立包層,則需手動(dòng)建立包層。
輸出結(jié)果:
javac -d . Test.java
java zhangsan.lisi.Test
嘿嘿
- java zhangsan.lisi.Test命令解析:
先檢測(cè)當(dāng)前目錄下是否有zhangsan/lisi這個(gè)文件夾,如果有,則檢索這個(gè)文件夾下是否有zhangsan.lisi.Test這個(gè)類,如果有則運(yùn)行;如果沒有則去classpath設(shè)置的路徑下依次檢索。如果都沒找到,則運(yùn)行失敗。
4.classpath路徑設(shè)置
如果想要在其他文件夾下依然能使用包中的類,則需要設(shè)置classpath路徑,把class文件最上層的父目錄添加到classpath路徑下。