比如有一个类:public class Hello{
private static String string = "Hello";
.....
}
Hello hello = new Hello();String name = "hello";
能否就此name得到Hello的实例对象?

解决方案 »

  1.   

    这个不行
    要有包名 也就是说有全类名
    比如:com.java.Hello这样就可以用反射来得到实例。。
      

  2.   

    你应该是说通过类名来实例化一个对象吧
    Class.forName("Hello").newInstance();
      

  3.   

    如果Hello在当前包下,那么Hello hello = Class.forName("Hello").newInstance();
      

  4.   

    如果知道了某个类的完整名称(必须要包含包名),那么是可以用反射reflection机制来得到这个类的实例对象,这个没有任何问题,因为你可以解析得到这个类的构造方法。
    但是如果你想得到程序运行当中所有这个类已经实例化的对象,那么是不太可能做到的,除非你自己对类的初始化构造用了什么特殊的处理