※ 引述《tas72732002 (蔥頭)》之銘言:
: 請問一下各位大大,
: 之前在寫PHP時, 提倡使用autoload機制來必勉load不必要的檔案,
: 在python提倡Explicit is better than implicit哲學, 所以不建議使用autoload
: 那在java不知道大家都用Explicit 還是 implicit呢?
沒用過 php 及 python
剛查了一下 php 及 python 是直譯式語言
而 java 算是編譯式語言
1. php 的 autoload 避免 load 不必要的檔案
對 Java 而言沒有這個 issue.
假設你需要用到 com.Class1 與 com.Class2 兩個 class
你可以 import 兩次,也可以 import com.*
不論你怎麼寫,你被 compile 成的 class 都是一樣的
import com.Class1;
import com.Class2;
所以不會有 load 不必要檔案的問題
而且我也沒聽過 import 太多 class 導致效能變差的事情....
2. Explicit is better than implicit
python 可能是動態 load 時會有名稱衝突,我不知道 python 遇到這情況會怎樣,
但是 Java 如果有衝突,你編譯時就會報錯了,連執行都別想
所以你寫的再怎麼 implicit,編譯時找不到明確的 class 就會吐給你了
我是都用 IDE 幫我產生import code就是了