日期:2014-05-20  浏览次数:20704 次

关于Class类实例化对象
本人拜读李大师的书学习java知识,看到反射机制这一章。
不太理解使用Class类实例化对象有什么好处,哪种情况可以用到或者说只能用此方法。
希望能举例帮我解答,不胜感激。
class Person{
private String name ;
private int age ;
public void setName(String name){
this.name = name ;
}
public void setAge(int age){
this.age = age ;
}
public String getName(){
return this.name ;
}
public int getAge(){
return this.age ;
}
public String toString(){
return "姓名:" + this.name + ",年龄:" + this.age ;
}
};
public class InstanceDemo{
public static void main(String args[]){
Class<?> c = null ;
try{
c = Class.forName("first.Person") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
Person per = null ;
try{
per = (Person)c.newInstance() ;
}catch(Exception e){
e.printStackTrace() ;
}
// Person per = new Person();  
per.setName("XXX") ;
per.setAge(30) ;
System.out.println(per) ;
}
};

------解决方案--------------------
那就看看我的反射解释吧

http://www.ticmy.com/?p=200

http://www.ticmy.com/?p=249
------解决方案--------------------
如果单从用Class来实例化对象来说的话,没什么必要,例如:
Java code

        String s1 = Class.forName("java.lang.String").newInstance();
        String s2 = new String();