博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Java几种建立实例的方法

Posted on 2010-05-31 12:20  子虚  阅读(348)  评论(0)    收藏  举报

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语句块中捕获这个异常。