String className="Hello";
Hello hello=(Hello)Class.forName(className).newInstance();

解决方案 »

  1.   

    第二句中
    Hello hello=(Hello)Class.forName(className).newInstance();
    是以Hello 作为创建对象,但这时我仅仅知道字符串"hello.java",我并不知道要创建的是hello对象,若字符串是别的什么类"other.java",那那在写Hello hello ... 就错了。
    我的意思是通过字符串"hello.java"来创建对象,若该字符串的类存在,再创建对象。不知道说明白了没有,谢谢 
      

  2.   

    请看下面的判断:          
              boolean isExist = true;
              Class c = null;
              try {
                  c = Class.forName("Hello");
                  isExist = false;
              }
              catch (ClassNotFoundException ex) {          }          if(!isExist) {
                  System.out.println("exist.");
                  ....//动态加载类,调用类的方法
              } else {
                  System.out.println("NO.");
              }
      

  3.   

    你只知道 hello.java ?
    是什么意思.
    首先必须要有编译好的类.否则你怎么能实例化???
    其次类的名字和源文件的文件名是必须一样的.hollo.java编译以后肯定是hollo.class.否则你根本不能编译的.
      

  4.   

    不错 ~,解决了是否存在类的方法 但是如何通过"hello.java" 来动态加载类呢?若是other.java 岂不是要一个个写过。若我要打开N个,就要象
    Hello hello=(Hello)Class.forName(className).newInstance();
    1     1 ...
    N  n ...
    一样写N遍。若我将 "hello.java" 放入变量 String classname="hello.java" 中,这样我就可以写一遍就行了,针对classname来创建不同参数的对象。不知道有没有有这样的方法。谢谢
      

  5.   

    这样写,你用的时候再把Object转过来~
    Ojbect object = Class.forName(className).newInstance();