Re: [問題] 關於autoload機制
※ 引述《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就是了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.192.133
※ 文章網址: https://www.ptt.cc/bbs/java/M.1429620468.A.45F.html
推
04/21 20:51, , 1F
04/21 20:51, 1F
→
04/21 20:51, , 2F
04/21 20:51, 2F
推
04/21 22:45, , 3F
04/21 22:45, 3F
→
04/22 00:10, , 4F
04/22 00:10, 4F
python 的那句話是我用直譯語言去推論的
也許 python import 的方式與 java 不同
所以才會有 Explicit is better than implicit 說法?
以上不清楚還請 python 大師解釋一下。
就我對 Java 理解,import 怎麼寫比較像是 coding style
→
04/22 02:11, , 5F
04/22 02:11, 5F
阿 ~ 寫的時候沒想到這個 case
如果你指定的 classpath 有多個 com.Class1,
那麼他在執行時會根據一定的順序去取得其中一個
或是可用 http://goo.gl/xFr6tI
→
04/22 02:12, , 6F
04/22 02:12, 6F
※ 編輯: cyclone350 (123.193.192.133), 04/22/2015 08:39:42
推
04/22 23:16, , 7F
04/22 23:16, 7F
→
04/22 23:16, , 8F
04/22 23:16, 8F
→
04/22 23:17, , 9F
04/22 23:17, 9F
→
04/23 11:03, , 10F
04/23 11:03, 10F
→
04/23 11:08, , 11F
04/23 11:08, 11F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):