※ 引述《sunneo (艾斯寇德)》之銘言:
: ※ 引述《***@cd.twbbs.org ( )》之銘言:
: : 不要誤導人家,沒有import還是可以正常使用其他class or package
: : 只是你要寫全名
: : 正確的說 import對應到C++ 的 using namespace;
: : [Modified by adolf] From: 218.172.22.83 (2007/07/09 Mon 23:02:38)
: 這就叫誤導人家的話...嘖嘖
: 我只是把做法說出來罷了
: using namespace? 真要說的話
: 他有對應嗎?沒有吧
原則上
import 與 using 真的是比較類似.
反而 import 與 include 是沒有啥關係的東西.
在java 中沒有需要把 declaration 和 definition 分開
的做法 (你也可以想成 declaration 與definition
共存在 .java 內). 所以只要你要用的 class 在
classpath 內, 你就能用.
: using namespace 你還是得把檔案include進來你才有那個namespace
: java他所指的是資料夾路徑
: 不然萬用字元 * 幹麻用的?
: 難道using namespace就可以 * ?
: using namespace *;
: 這啥語法?
: 使用命名空間小菊花嗎?!
你大概不懂得 C++ 吧
import foo.bar.*;
大概就等於
using namespace foo::bar;
當然當中還是有點分別. 用了上面的
using directive, C++ 中是連 foo::bar::anotherlevel::MyClass
也可以直接以 anotherlevel::MyClass 來表示.
Java 的 import 只對應import 的那一層package 而已.
再給你多一點提示.
假設有一個 class foo.bar.MyClass
我在別的地方用到. 我不需要 import, 只要在 classpath
中它有存在, 我就可以
foo.bar.MyClass myObj = new foo.bar.MyClass();
正如 C++ 中, 我一樣可以不用 using namespace, 直接用
foo::bar::MyClass myObj;
看出兩者的關係了嗎?
: 噗
: 你這樣說才是誤導別人吧?!你這麼說後,如果有一本書叫我們建立資料夾並且把
: 他寫的java放進去,你又怎麼說?
: 難道你想說 "這是褻瀆神明的罪啊!!java是我的神!"
: 你這樣不過是把java放在電腦前面供奉的人
完全看不明白你在寫什麼. 好像胡言亂語似的.
: 你會寫套件嗎?看樣子不會
: 你寫C/C++有在自己寫標頭檔,類別嗎?
: 看來沒有
我本身前一份工作五年都是在寫 C++.
: 只把include風一樣的吹過
: 或者說你是VC6的受害者
和 VC6 的關係是什麼? 這是基本的 C++ 知識而已
: 我的說法跟做法都是有經過我本身,以及老師實做過,同學實作過
: 然後求證的
明顯你對於 include vs import vs using namespace
的求證出錯了.
: 也許啦,你說的是inner class的inner class ... 而不是像我原本說的
: 找"一個" class 、 package ...
: 只是人家提的問題還有圖片你有點下去看嗎?
: 沒有多方求證以及實驗就下定論,還想要反駁一個實做過的結果?
: 你的等級很低,從你簡單的發文看的出來
: 這小子戰鬥力大概5左右,嘖嘖...
要是他是 5, 閣下大概是零點幾吧?
: 他不過是類似namespace
: 你的反駁有如下不成立:
: using namespace必須在這個namespace存在的條件下
: 如果要用別人寫好的namespace,事先一定得先include別人的檔案
: include檔案,你得知道這個資料夾在目前檔案的哪個相對位置
: 一樣的你把那些 package、 java、class ...套件殺掉看看
: 檔案都沒了你哪裡來的namespace?
我想你不夠明白 package 與 namespace 與 classpath
的關係吧..
: 我很想質疑你有沒有碰C/C++的經驗
: 該不會還停留在-以為include 不是一種找檔案的動作吧
: include 是 preprocessor instruction,使用尖括號表示
: 他得先到環境設定的函式庫去找這個檔案
這個算對.
: java的import也是一個找檔案的動作啊
這個不是
: 如果要說的話,你怎麼不說他是一種external的import?
: external有分為定義跟宣告,定義的external的cpp檔就算是被export
: 同資料夾下的檔案都看的到那個cpp檔用extern宣告的函式、全域變數
: extern在別的地方使用不就是一種import
: 標準函式庫就做到了把crt.lib裡面以及msvcrt.dll的標頭檔給import進來的動作啊
: 他就extern了那些函式跟類別
說一堆其實你自己還是不明白 import 做的是什麼.
: 我碰過很多重考生,他們也許是因為太老氣了,或者封閉太久了
: 很會自以為是,只會出一張嘴,出的建議都是偉大無比的
: 比如說今天有一個活動,需要無限流量的網路資源
: 就會有一個重考生說
: "那就去計中跟他們要一台電腦啊,甚至跟他們主管要一個沒限流量的IP"
: 笑死人大牙
: 或者要同學去想一個演算法 ok
: 有一個重考生也是很自以為是的說 "阿就這樣算一算就出來啦"
: 然後老師糾正了還是在那狡辯。
: 一整節課有大部分的時間都花在他的狡辯上
: 這種重考生...只覺得自己那種偏隘的想法是全面性正確的
: 就只好當成笑話來看
: 你是要讓我笑的嗎?還是認真回答的?
其實閣下比較像封閉太久, 然後回罵別人但是讓別人笑話的樣子...
Alien
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.22.246.26
※ 編輯: adrianshum 來自: 202.22.246.26 (07/10 11:41)