我会尝试尽可能简单地设置它,因为它也让我感到困惑。调用类型对象的方法类
我返回类型的对象的方法Class
即
public Class foo(){...}
当我把这个方法我保持的结果类型,即类的变量
Class obj = new foo();
foo()
可以返回许多不同的类,但它们都包含相同的方法bar()
。
如何从我的obj
变量调用该方法?我试过obj.bar()
但IDE似乎并不喜欢它。我得到
Error:(59, 34) error: cannot find symbol method
bar()
'类的obj =新富()'永远不会是有效的,除非你是在谈论一个不同的'Class'型比'java.lang.Class' 。一个简短但完整的程序展示了这个问题会使这一切变得更加清晰。 – 2015-03-19 09:45:25
您必须使用'((foof)obj).bar()' – Jens 2015-03-19 09:46:07
正如Jon Skeet所说,“Class obj = new foo()'是无效的。你可能想做一些像'Foo obj = foo()。newInstance()',然后'obj.bar()'。 – NiziL 2015-03-19 09:48:05