refactor package and can only initial private class and protected class with public constructor by using reflect