我有两个类
第一个类里面有两个Sphere结构的参数 这两个参数将要传到第二个类里面去做运算
第一个类用class.forName和newInstance 来自动创建第二个类的实例 然后调用第二个类里面的processFrame方法
- Java code
class TestFramework { .......... main() private static Sphere[] spheres; private static Sphere[] spheresBackup; String submissionName = args[0]; Submission student = (Submission)Class.forName(submissionName).newInstance(); .......... int[] studentResult = student.processFrame(x,y,z);
第二个类需要我自己写 因为第二个类需要用到x, y, z这三个参数 但是在Class.forName里面的newInstance里面没有传入x,y和z这三个参数 第二个类 是该怎样获得这些参数呢?
- Java code
interface Submission { public int[] processFrame (double x,double y,double z) throws Exception;}class mySubmission implements Submission { //这里的构造方法应该怎样写才能获得TestFramework这个类的参数???? public int[] processFrame( final double x,final double y,final double z) throws Exception { } }
请大家尽量给一些代码 我刚开始学java 不是很厉害 谢谢大家
------解决方案--------------------
写错了
- Java code
Class class = Class.forName(submissionName);Constructor[] cons = class.getDeclaredConstructors();if(cons[0].getParameterTypes().length>0){ student = (Submission)cons[0].newInstance(new Object[]{new Integer(100),new Integer(200)});}
------解决方案--------------------
------解决方案--------------------
newInstance()只是生成实例
传参数是在调用方法int[] studentResult = student.processFrame(x,y,z);
的时候传递进去的,你不用管,写好processFrame里面的逻辑就行了