作者adrianshum (Alien)
看板java
标题Re: [工具] 怎用import SWT呀
时间Tue Jul 10 11:41:23 2007
※ 引述《sunneo (艾斯寇德)》之铭言:
: ※ 引述《[email protected] ( )》之铭言:
: : 不要误导人家,没有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)