作者GALINE (我是CQD,不是cqd)
看板java
标题Re: [问题] 动态读取class
时间Sun Nov 9 20:13:19 2008
※ 引述《jacky951 (蓝忆)》之铭言:
: 小弟我最近在写专题,为了之後学弟妹们的维护以及更新容易。
: 所以有一个想法,就是当我需要新的功能
: 只需要把如A.class档放在JAVA的资料夹,接着去资料库增加class的名称"A"
: 而不需要去程式里面多一行 A a = new A();
如果你只会用到default constructor,不需要传参数,那会像下面这样
====================================================================
String className = "idv.cqd.homeworld.MyClassOfHiigaran";
MyClass mc = (MyClass) Class.forName(className).newInstance();
====================================================================
如果你需要传参数给constructor,例如说一个int跟一个float
那就会变成这样:
====================================================================
Class[] paraTypeAry = new Class[]{Integer.TYPE,Float.TYPE};
Object[] paraAry = new Object[]{new Integer(123), new Float(1.23f)};
String className = "idv.cqd.homeworld.MyClassOfKushan";
Constructor c = Class.forName(className).getConstructor(paraTypeAry);
MyClass a = (MyClass) c.newInstance(paraAry);
====================================================================
-
不过我情感上讨厌Class Wrapper,不知道有没有办法直接扔原生资料型态进去?
--
这闪电拳能射出雷射光,威力每平方公分一万亿瓦特
威力无比,拳到之处,攻无不克
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.112.160
※ 编辑: GALINE 来自: 114.47.112.160 (11/09 20:14)
1F:推 kairy:推 11/09 21:20
2F:推 supertitler:new Object[]{123, 1.23f} 顶多这样吧XD 11/10 01:09
3F:→ supertitler:看错抱歉囧 请忽略 11/10 01:17
4F:推 jacky951:感谢,已解决 11/10 08:56