Java中如果需要实例化一个对象有2种方法。
方法一:利用new运算符和类的构造方法实例化一个对象,例
Class A{}
Class B{
A a=new A();
}
方法二:利用Class类创建对象,
Class类时java.lang包中的类,该类的实例用来封装对象运行时的状态。当一个类被加载且创建对象时,和该类相关的一个类型为Class的对象就会被自动创建。为了得到一个雷的对象,可以先得到一个和该类相关的Class对象,此时需要使用Class的类方法:public static Class forName(String className) throws ClassNotFoundException.再让这个对象调用public Object newInstance() throws InstantiaonException,IllegalAccessException即可得到className类的对象。例:
Class A{}
Class B{
Class cs=Class.forName("A"):
A a =(A)cs.newInstance();
}
二者区别:
1.利用Class类创建实例对象时,只能够调用无参的构造函数;
2.利用Class类创建出的实例对象是Object类型的,需要强制类型转换;