First create a singleton factory, and then write a createObject() method, receive the class type and return an instance of that class
public class Factory {
private static Factory factory = new Factory();
private Factory(){
}
public static Factory getInstance(){
return factory;
}
public static Object createObject(Class clz) throws IllegalAccessException, InstantiationException {
Object obj = clz.newInstance();
return obj;
}
}
Class created by the factory
public class Student {
public Student() {
System.out.println("学生类创建了");
}
}
Test class
public class Test {
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
Factory factory = Factory.getInstance();
Student student = (Student) factory.createObject(Student.class);
System.out.println(student);
}
}
run