Class<T> s,s既是对象也是类,作为对象它是Class类型的,但作为类我们无法确认s是什么类,有可能是A,或是B。所以通过s.newInstance()获取的对象是Object类型的;但是有时我们已经可以确定s对应的是什么类了,我们不想让s.newInstance()返回Object类型的对象,而是返回具体的类型,比如:我知道s对应的类就是Student,那么s.newInstance()返回的是Student类型的对象,而不是Object类型的。但是默认情况下返回是Object类型的,那么如何实现例子中的预期效果呢,很简单通过传递泛型参数来指定,例如:Class<T> s,那么T就是s对应的类,所以s.newInstance()返回的是T类型的对象,至于泛型T对应的是哪个类,由我们自己指定,如果传的是A,那么返回的就是A类对象,如果传的是B,那么返回的是B类对象。哈哈哈 有点啰嗦了。
java发射机制中,Class<T>是什么意思
最新推荐文章于 2024-07-19 14:51:16 发布