我就以package與import開始吧。
package的作用其實就是c++的namespace的作用,防止名字相同的類產生沖突,只是實現的機制不一樣,java編譯器在編譯時,直接根據package 指定的信息直接將生成的class文件生成到對應目錄下。如package aaa.bbb.ccc 編譯器就將該.java文件下的各個類生成到./aaa/bbb/ccc/ 這個目錄底下。
有了package機制,導致使用不同類時候就很麻煩(指書寫代碼時候需要寫更長),於是大神門就想出辦法去偷懶了,於是就有了import機制。假設./aaa/bbb/ccc/ 下的A類,假如沒有import機制我們需要怎麼實例化A類呢,new aaa.bbb.ccc.A(),使用import aaa.bbb.ccc.A 後,我們就可以直接使用new A()了,也就是編譯器幫我們幫我們匹配並擴展了aaa.bbb.ccc.這串字符串,所以只是關系到編譯速度,但是不是特別大的項目,肯定是可以忽略不計的。