作者Srjiang (趴趴)
站内java
标题Re: [问题]请教一个宣告的问题
时间Tue Aug 28 15:13:19 2007
※ 引述《Srjiang (趴趴)》之铭言:
: 标题: Re: [问题]请教一个宣告的问题
: 时间: Fri Aug 24 13:38:18 2007
:
: ※ 引述《Srjiang (趴趴)》之铭言:
略
: sample code:
: import a.b.c;
: Class MyClass{
: int a;
: MyClass(){
: a.b.c d; //<== error说,a里没有b ...orz
: //另外,class c这个名字已经存在,我得用a.b.c去宣告才行
: }
: }
:
: //以上code是J2ME
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 211.22.63.250
: ※ 编辑: Srjiang 来自: 211.22.63.250 (08/24 13:39)
: → kennyliao:int a 改名字 = =" .. 08/24 15:05
: → Srjiang:很麻烦的就是有种种的限制不能改啊 =.= 08/24 15:27
: 推 TonyQ:Class.forClass? 用class loader抓抓看? 08/25 00:36
: 推 drumrick:可是你给的这段我compile可以过耶 囧 08/25 12:24
自问自答一下
关於解法,後来还是透过某些方式请别人改掉int a;了
关於compile能过的问题,事实上int a;是另一个class,而不是单纯的int
而各家compiler或许会有不同,我这边是用Eclipse里面预设的compiler
以上纯属猜测
另外,Class.forClass的方式,(还是Class.forName?)
小弟没有用过这几个东西,能否赐教一下?
我查了一下J2SE跟J2ME里Class的methods还是有些差别,J2ME里也没有ClassLoader
(这里指的是CLDC/MIDP2.0)
所以您指的是否为
Class c = Class.forName("a.b.c");
Object o = c.newInstance();
这样子的方式?
--
心得是,软体的开发有的时候不是程式写得好就行的....orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.22.63.250
※ 编辑: Srjiang 来自: 211.22.63.250 (08/28 15:16)
1F:推 TonyQ:yep reflection的作法 , Object可以在另外做转型. 08/29 01:36
2F:→ TonyQ:咦 你是做J2ME喔 要早讲啊...XD 08/29 01:40
3F:→ TonyQ:如果可以新增class的话 帮它写个装饰者也不失为一解啦... 08/29 01:41