Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用类名和调用函数创建实例_Java_Android - Fatal编程技术网

Java 使用类名和调用函数创建实例

Java 使用类名和调用函数创建实例,java,android,Java,Android,如何创建具有类名dynamic的特定类的实例,并将参数传递给该类的函数 我的伪代码是: String className = "login"; Class<?> clazz = Class.forName(className); clazz.checkUserFunc(argument); checkUserFunc函数是Login类的成员您可以获得与getConstructor的给定参数相匹配的类构造函数实例 首先,必须创建类的新实例: Object o = clazz.newI

如何创建具有类名dynamic的特定类的实例,并将参数传递给该类的函数

我的伪代码是:

String className = "login";
Class<?> clazz = Class.forName(className);
clazz.checkUserFunc(argument);

checkUserFunc函数是Login类的成员

您可以获得与getConstructor的给定参数相匹配的类构造函数实例


首先,必须创建类的新实例:

Object o = clazz.newInstance();
注意:如果您的类没有默认构造函数,newInstance将抛出异常。在这种情况下,必须从类中查询适当的构造函数并调用它。这只有在您有某种约定的情况下才有意义,例如构造函数必须完全接受on字符串参数,请参见。最简单的方法是需要一个默认构造函数,这样上面的代码就可以工作了

然后可以调用对象的任何实例方法。通常,您应该有另一个约定,比如类必须实现接口MyInterface。这使得调用方法变得简单:

MyInterface myObj = (MyInterface)o;
myObj.checkUserFunc(argument);
Object o = clazz.newInstance();
MyInterface myObj = (MyInterface)o;
myObj.checkUserFunc(argument);