Class class1 = Person.class;
Person person2 = (Person)class1.newInstance();//这里在编译时会报错,得在上面赋值时加上泛型或者是在这里强制类型转换,这个我可以理解是因为返回的都是object类型的,但是为什么下面这样写就不会报错,有什么区别?求解,谢谢!
Person person3 = Person.class.newInstance();

为什么类名 xxx = 类名.class.newinstance()不用强制转换呢?newinstance()方法不是返回object么?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 封印di恶魔 2020-07-22 18:01关注
Person.class返回的应该是 Class<Person>
你第一种要是因为你用没指定泛型的class类接收所以要解决 2无用 1