Java 动态类铸造

Java 动态类铸造,java,android,casting,Java,Android,Casting,我在安卓系统中选角有问题 我正在开发一个处理多个设备的应用程序,我正在尝试创建一个动态类定位(即,用户设置设备,应用程序根据用户设置实例化类) 下面是一个示例代码: String Usr_imput; //name of the class Class class = Class.forName(Usr_Input); Object o = class.newInstance(); 因此,我无法从Usr_输入类访问方法。方法class.cast(o)应该是我的问题的解决方案,但我无法让它工作,

我在安卓系统中选角有问题

我正在开发一个处理多个设备的应用程序,我正在尝试创建一个动态类定位(即,用户设置设备,应用程序根据用户设置实例化类)

下面是一个示例代码:

String Usr_imput; //name of the class
Class class = Class.forName(Usr_Input);
Object o = class.newInstance();
因此,我无法从Usr_输入类访问方法。方法class.cast(o)应该是我的问题的解决方案,但我无法让它工作,cast语句会堆叠吗

如果我使用:

class.cast(o);
o.Method();
有人对此有经验吗?

来自java文档:

Usr_Input o = (Usr_Input)class.newInstance();
   cast
   public T cast(Object obj) 
   blahblah..

   Returns:
   the object after casting, or null if obj is null
从代码中,您没有捕获返回值<代码>类也不是一个好名字。检查上面的评论

class.cast(o);
o.Method();

您应该能够在对象上按名称调用方法:
methodmethod=class.getMethod(methodName,param1.class,param2.class,…);调用(o,param1,param2,…)
单词
class
是一个保留的Java关键字,因此您不想将其用作变量标识符。您需要使用ReflectionCreat,不知道这个类,它现在工作得很好。我认为动态强制转换的意思是,他只知道运行时强制转换的类型。这不起作用,我以前尝试过。它查找Usr_输入类。