Java-use reflection to create factory pattern

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
Insert picture description here

Guess you like

Origin blog.csdn.net/qq_36008278/article/details/115003658