在java中将实例分配给Class

时间:2014-08-13 18:04:59

标签: java object

 public class twoinstance
{
    int a;
    public static void main()
    {
        String name =  twoinstance.class.getName();
        name c = new name();
    }
}

我知道这段代码不会编译,但我怎样才能实现这样的功能呢?

2 个答案:

答案 0 :(得分:1)

因为name是String引用,而不是类型。我想你想要像

这样的东西
Class<?> name = twoinstance.class;
try {
    Object c = name.newInstance();
} catch (InstantiationException e) {
    e.printStackTrace();
} catch (IllegalAccessException e) {
    e.printStackTrace();
}

答案 1 :(得分:0)

String name = twoinstance.class.getName();将为您提供完全限定的类名(包括包名)

使用Class#newInstance() - 创建此Class对象所代表的类的新实例。

    Object o = Class.forName(name).newInstance();
    if(o instanceof twoinstance)
        System.out.println("true");
    else
        System.out.println("false");
相关问题