Java几种建立实例的方法
new
利用Java关键字new来建立对象实例是Java中最为常见也是最为简单的建立对象实例的方法。若程序写成如下形式,
则可建立something类的对象实例后再指定到变量obj。
something obj=new something();
此时,必须把类名(在此为something)写在源码之内。
clone
若利用clone方法,则可根据现有的对象实例来建立里一个新对象实例。利用clone方法来建立对象实例只限于实现
了java.lang.Cloneable接口的类。如果没有实现该接口,则会抛出CloneNotSupportedException异常。若程序
写成如下,则可根据当前对象本身建立另一个对象实例(但并未利用构造方法)。
class Something
{
//codes
public Something createClone()
{
Something obj=null;
try
{
obj=(Something)clone();
}
catch(CloneNotSupportedException e)
{
e.printStackTrack();
}
return obj;
}
}
newInstance
利用java.lang.Class类的newInstance方法,可以根据Class的对象实例,建立该Class所表示的类的对象实
例(调用无参数的构造方法)
下面是Something类的对象实例someobj,则可以用下面的表达式建立一个Something类的对象实例。
someobj.getClass().newInstance();
//or next codes
Something obj=Class.forName(Something).newIntance();
值得注意的是,newIinstance方法会跑出InstantiationException或者IllegalAcsessException异常,所以
应该在catch语句块中捕获这个异常。