JZ20 2020-07-22 16:08 采纳率: 0%
浏览 394

为什么类名 xxx = 类名.class.newinstance()不用强制转换呢?newinstance()方法不是返回object么?

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

        Person person3 = Person.class.newInstance();
  • 写回答

1条回答 默认 最新

  • 封印di恶魔 2020-07-22 18:01
    关注

    Person.class返回的应该是 Class<Person>
    你第一种要是因为你用没指定泛型的class类接收所以要

    评论

报告相同问题?