通过通用类

时间:2018-12-14 10:33:21

标签: java class object generics static

我有一个获取带有私有构造函数的静态类实例的方法。 MyStaticClass具有声明的变量,该变量调用私有构造函数。

public class ImplementedClass implements TheInterface<Integer>
{
   public ImplementedClass INSTANCE = new ImplementedClass();


        private ImplementedClass(){}
        //overrides
}

我需要使用泛型从另一个类中获取该类的实例。

Class<? extends TheInterface> myStaticClass = (Class<? extends TheInterface>) Class.forName(bd.getBeanClassName());

如何获取此类的实例?

1 个答案:

答案 0 :(得分:0)

我假设您想要一个单例实例。 因此,请将INSTANCE变量设为静态:

public static ImplementedClass INSTANCE = new ImplementedClass();

完成此操作后,您可以:

    String classname="ImplementedClass";
    Class c=Class.forName(classname);
    Field instanceField=c.getDeclaredField("INSTANCE");
    TheInterface instance=(TheInterface)instanceField.get(null);