如何用java的反射实现动态强制类型转换~~?
假如:interfaceTestInterface{}classTestImplimplementsTestInterface{}publicstaticvoidtest...
假如:interface TestInterface{}class TestImpl implements TestInterface{}public static void test(TestInterface t){}我现在通过反射class.forname("TestImpl ").newInstance()得到的是一个object对象那我现在又如何通过反射实现将object对象转型成为一个 TestInterface强调:是动态转型,除了( TestInterface)转型方式,我能不能通过调用某个方法来实现转型~~~谢谢~~~
展开
2013-04-03
展开全部
(Cast) 方式本来就是编译时的静态转换,你既然已经在runtime得到TestImpl的具体对象,那就直接使用好了,runtime的时候某个对象是什么类型就已经确定了,不存在类型转换。
2013-04-03
展开全部
Hibernate其实体现了面向对象中的一个重要思想就面向接口编程,而不是面向具体实现编程。这也是为什么有一个接口,有一个接口实现的原因。所以就你的问题而言,hibernate并不涉及动态强制类型转换的问题。而是利用反射机制来实现对象的自动上转型。以上是我的理解,供参考。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-03
展开全部
你可以尝试一下TestInterface.class.cast(object);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-02
展开全部
既然是 动态的 那就是 在运行期才知道对象的实际类型 那么假如你可以通过反射强制类型转换 你该用什么类型的变量去引用它呢 还是只能用Object,既然是反射 能动态获得对象的类型,以及属性,参数 就行了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询