Discuss / Java / 在java1.9版本中,newInstance()已经被弃用,取而代之的是getDeclaredConstructor().newInstance()

在java1.9版本中,newInstance()已经被弃用,取而代之的是getDeclaredConstructor().newInstance()

Topic source

Fwmmmm-

#1 Created at ... [Delete] [Delete and Lock User]

class.newInstance()

会直接调用该类的无参构造函数进行实例化

class.getDeclaredConstructor().newInstance()

getDeclaredConstructor()方法会根据他的参数对该类的构造函数进行搜索并返回对应的构造函数,没有参数就返回该类的无参构造函数,然后再通过newInstance进行实例化。

CSDN上一个博主讲的  搬运过来给大家伙看看

Class<Person> personClass = Person.class;Person person = personClass.newInstance();Person person1 = personClass.getDeclaredConstructor(String.class).newInstance("xiao");Person person2 = personClass.getDeclaredConstructor(String.class, double.class).newInstance("xiao", 12D);System.out.println(person1.getName());System.out.println(person2.toString());

xiao

Person{name='xiao', age=12.0, books=demo.oop.Book@4fca772d}

不应该上个链接么?廖老师,之前回复了,少看CSDN

不过,骂归骂,该看还得看,该用还得用(百度除外),我这条命都是CSDN给的。


  • 1

Reply