[英]Java: Reflection against casting when you know superclass
我不确定如何确定我的疑问,因此如果已经提出问题,请耐心等待。
假设我必须动态实例化一个对象。 该对象肯定是已知的不可变类A的子类的实例。我可以动态获取特定的实现类。
最好完全像我对目标类一无所知地使用反射,还是最好还是可以做类似的事情:
A obj = (Class.forName("com.package.Sub-A")) new A();
Sub-A extends A
在哪里Sub-A extends A
? 目的是避免反射开销时间。
通常这是通过
Class.forName("com.package.Sub-A").getConstructor(param types).newInstance(param values)
为了避免反射过多,您只需缓存构造函数对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.