若一个字符串和一个类的名字一致,如何针对该字符串对该类创建对象? String className="Hello";Hello hello=(Hello)Class.forName(className).newInstance(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第二句中Hello hello=(Hello)Class.forName(className).newInstance();是以Hello 作为创建对象,但这时我仅仅知道字符串"hello.java",我并不知道要创建的是hello对象,若字符串是别的什么类"other.java",那那在写Hello hello ... 就错了。我的意思是通过字符串"hello.java"来创建对象,若该字符串的类存在,再创建对象。不知道说明白了没有,谢谢 请看下面的判断: 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."); } 你只知道 hello.java ?是什么意思.首先必须要有编译好的类.否则你怎么能实例化???其次类的名字和源文件的文件名是必须一样的.hollo.java编译以后肯定是hollo.class.否则你根本不能编译的. 不错 ~,解决了是否存在类的方法 但是如何通过"hello.java" 来动态加载类呢?若是other.java 岂不是要一个个写过。若我要打开N个,就要象Hello hello=(Hello)Class.forName(className).newInstance();1 1 ...N n ...一样写N遍。若我将 "hello.java" 放入变量 String classname="hello.java" 中,这样我就可以写一遍就行了,针对classname来创建不同参数的对象。不知道有没有有这样的方法。谢谢 这样写,你用的时候再把Object转过来~Ojbect object = Class.forName(className).newInstance(); Junit 急!!!我们公司现在正在赶一个网站,急需一套cms java 集群中缓存的问题 求助标签库路径配置 hibernate3 原生sql查询mysql数据库 longtext类型如何处理? LOG4J的问题 我想利用寒假时间去学Java Web有谁有兴趣和我一起去吗? struts问题基础的啊~~来收分吧~! tomcat目录问题 在使用eclipse建立j2ee项目时的问题?请各位指点迷津? 我不知道这里怎么配置了,我用的是jboss, 一个CMP开发的错误,高手快来指点,急!
Hello hello=(Hello)Class.forName(className).newInstance();
是以Hello 作为创建对象,但这时我仅仅知道字符串"hello.java",我并不知道要创建的是hello对象,若字符串是别的什么类"other.java",那那在写Hello hello ... 就错了。
我的意思是通过字符串"hello.java"来创建对象,若该字符串的类存在,再创建对象。不知道说明白了没有,谢谢
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.");
}
是什么意思.
首先必须要有编译好的类.否则你怎么能实例化???
其次类的名字和源文件的文件名是必须一样的.hollo.java编译以后肯定是hollo.class.否则你根本不能编译的.
Hello hello=(Hello)Class.forName(className).newInstance();
1 1 ...
N n ...
一样写N遍。若我将 "hello.java" 放入变量 String classname="hello.java" 中,这样我就可以写一遍就行了,针对classname来创建不同参数的对象。不知道有没有有这样的方法。谢谢
Ojbect object = Class.forName(className).newInstance();