真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java克隆代碼 java數(shù)組克隆

java如何實(shí)現(xiàn)對(duì)象的克隆

可以重載clone方法克隆對(duì)象

目前創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、南丹網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

首先、該類(lèi)要實(shí)現(xiàn)Cloneable的接口,不然執(zhí)行clone方法的時(shí)候會(huì)拋出CloneNotSupportedException異常

然后、就在該類(lèi)重載clone方法,自己加上克隆的邏輯,本人小白,手敲的代碼

public?class?Book?implement?Cloneable{

private?String?name;

public?Book(String?name){

this.name=name;

}

@Override

public?Book?clone()?throws?CloneNotSupportedException?{

return?new?Book(this.name);

}

}

java代碼 clone()函數(shù)的作用是什么?

從樓主對(duì)回答的追問(wèn)上發(fā)現(xiàn),樓主的連JAVA基本的語(yǔ)法都很差啊。=號(hào)是賦值運(yùn)算符,不是比較。

double[] vectorValue;

vectorValue = vectorValue.clone();

這個(gè)段代碼執(zhí)行肯定報(bào)錯(cuò)了。但他還的意思還是很明確的。

首先:double[] vectorValue; ? 這個(gè)是定義了一個(gè)double類(lèi)型的數(shù)組變量vectorValue。

其次:vectorValue = vectorValue.clone(); ?//這個(gè)是將vectorValue 克隆一份,賦值給自己。也就是說(shuō)vectorValue變量指向了新的一塊內(nèi)存區(qū)域。

舉個(gè)例子可能更能說(shuō)明問(wèn)題。

public?class?TestMain?implements?Cloneable?{

private?int?i?;

public?TestMain(int?i){

this.i?=?i?;

}

@Override

protected?Object?clone()?{

//?TODO?Auto-generated?method?stub

return?new?TestMain(this.getI()+1);

}

public?int?getI()?{

return?i;

}

/**

?*?@param?args

?*/

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

TestMain?tm1?=?new?TestMain(1);

TestMain?tm2??=?tm1;

tm1?=?(TestMain)tm1.clone();

System.out.println(tm1.getI());?//tm1指向的是通過(guò)clone()方法創(chuàng)建的新的對(duì)象的地址,i的值已經(jīng)是2了。

System.out.println(tm2.getI());?//tm2指向的還是tm1創(chuàng)建時(shí)的地址,i的值為1

}

}

java中 clone()方法的使用

final只是不能修改內(nèi)部值,但是可以修改引用.你a=b.clone();已經(jīng)把a(bǔ)的引用給修改了!


網(wǎng)站標(biāo)題:java克隆代碼 java數(shù)組克隆
文章轉(zhuǎn)載:http://weahome.cn/article/doddspe.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部