Creating an instance using the class name and calling constructor

前端 未结 10 2654
醉话见心
醉话见心 2020-11-22 05:51

Is there a way to create an instance of a particular class given the class name (dynamic) and pass parameters to its constructor.

Something like:

Obj         


        
10条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-11-22 06:53

    You can use Class.forName() to get a Class object of the desired class.

    Then use getConstructor() to find the desired Constructor object.

    Finally, call newInstance() on that object to get your new instance.

    Class c = Class.forName("mypackage.MyClass");
    Constructor cons = c.getConstructor(String.class);
    Object object = cons.newInstance("MyAttributeValue");
    

提交回复
热议问题