将类作为java中方法的参数传递

Lol*_*ter 0 java methods class object

我试图创建一个创建类的新对象的方法,但我希望能够创建许多不同类的对象,因此为每个类创建一个方法对我来说不起作用.有没有什么方法可以将类传递给方法,以便可以创建新对象?我的所有类都有相同的构造函数.

sp0*_*00m 7

你可以用

public <T> T instanciate(Class<? extends T> clazz) throws Exception {
    return clazz.newInstance();
}
Run Code Online (Sandbox Code Playgroud)

并称之为

MyObject o = instanciate(MyObject.class);
Run Code Online (Sandbox Code Playgroud)

如果你这样做,你想要实例化的类必须有一个没有参数的默认构造函数.否则,你会得到一个java.lang.InstantiationException.