<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內(nèi)容,歡迎關(guān)注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    當(dāng)前位置:首頁 科技百科 java clone()

    java clone()

    文檔

    java clone()

    clone()屬于clone中的一種,有淺克隆和深克隆。在Java中,clone方法被對象調(diào)用,所以會復(fù)制對象,所謂的復(fù)制對象,首先要分配一個和源對象同樣大小的空間,在這個空間中創(chuàng)建一個新的對象。
    推薦度:
    導(dǎo)讀clone()屬于clone中的一種,有淺克隆和深克隆。在Java中,clone方法被對象調(diào)用,所以會復(fù)制對象,所謂的復(fù)制對象,首先要分配一個和源對象同樣大小的空間,在這個空間中創(chuàng)建一個新的對象。

    java clone()是什么,讓我們一起了解一下?

    clone()屬于clone中的一種,有淺克隆和深克隆。在Java中,clone方法被對象調(diào)用,所以會復(fù)制對象,所謂的復(fù)制對象,首先要分配一個和源對象同樣大小的空間,在這個空間中創(chuàng)建一個新的對象。

    要想了解clone(),首先要知道clone方法是什么?

    clone方法是返回與當(dāng)前對象的一個副本對象,可以通過操作副本對象而不影響當(dāng)前對象。使用clone方法需要實現(xiàn)Cloneable接口,并重寫Object方法中的clone方法。

    需要注意的是在clone在Object中是project修飾符。因為所有類都是Object的子類,所以如果不實現(xiàn)clone方法,在類中可以直接使用父類的clone方法,但是其對象在別的類中不能調(diào)用clone方法。所以必須重寫clone方法。

    那clone()在java應(yīng)用中扮演者什么角色?(以淺克隆為例)

    1、被復(fù)制的類需要實現(xiàn)Clonenable接口(不實現(xiàn)的話在調(diào)用clone方法會拋出CloneNotSupportedException異常), 該接口為標(biāo)記接口(不含任何方法)。

    2、覆蓋clone()方法,訪問修飾符設(shè)為public。方法中調(diào)用super.clone()方法得到需要的復(fù)制對象。

    具體操作代碼如下:

    class?Student?implements?Cloneable{??
    ????private?int?number;??
    ??
    ????public?int?getNumber()?{??
    ????????return?number;??
    ????}??
    ??
    ????public?void?setNumber(int?number)?{??
    ????????this.number?=?number;??
    ????}??
    ??????
    ????@Override??
    ????public?Object?clone()?{??
    ????????Student?stu?=?null;??
    ????????try{??
    ????????????stu?=?(Student)super.clone();??
    ????????}catch(CloneNotSupportedException?e)?{??
    ????????????e.printStackTrace();??
    ????????}??
    ????????return?stu;??
    ????}??
    }??
    public?class?Test?{??
    ????public?static?void?main(String?args[])?{??
    ????????Student?stu1?=?new?Student();??
    ????????stu1.setNumber(12345);??
    ????????Student?stu2?=?(Student)stu1.clone();??
    ??????????
    ????????System.out.println("學(xué)生1:"?+?stu1.getNumber());??
    ????????System.out.println("學(xué)生2:"?+?stu2.getNumber());??
    ??????????
    ????????stu2.setNumber(54321);??
    ??????
    ????????System.out.println("學(xué)生1:"?+?stu1.getNumber());??
    ????????System.out.println("學(xué)生2:"?+?stu2.getNumber());??
    ????}??
    }

    輸出結(jié)果:

    學(xué)生1:12345??
    學(xué)生2:12345??
    學(xué)生1:12345??
    學(xué)生2:54321

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java clone()

    clone()屬于clone中的一種,有淺克隆和深克隆。在Java中,clone方法被對象調(diào)用,所以會復(fù)制對象,所謂的復(fù)制對象,首先要分配一個和源對象同樣大小的空間,在這個空間中創(chuàng)建一個新的對象。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關(guān)推薦
    java collect java collections java color java combobox java comet 山楂干泡水最佳搭配 java commandline java comparable接口 java compiler java config java console java console.log 復(fù)活節(jié)的由來 java const java consumer接口 統(tǒng)一和康師傅是哪國的 怎么刪掉word中的空白頁 微信筆記在哪里編輯 椰子怎么挑 蟑螂最怕三種克星 java clob java classloader java class.forname java class java cipher java charset java charsequence java charat java channel iPad怎么重啟 java cglib 平板如何錄屏 java ceiling java callback java calendar獲取當(dāng)前時間 蘋果13怎么開機 java calculate java byte取值范圍 java bytebuffer java bundle
    Top 国产成人无码精品一区在线观看 | 精品丝袜人妻久久久久久| 久久婷婷五月综合色精品| 成人精品一区久久久久| 无码人妻精品中文字幕| 日韩精品免费一级视频| 国产精品一线二线三线| 国产一精品一AV一免费| 精品麻豆丝袜高跟鞋AV| 国产亚洲Av综合人人澡精品| 国产精品第12页| 久久久精品天堂无码中文字幕 | 亚洲AV日韩精品久久久久久久| 精品小视频在线观看| 久久国产精品鲁丝片| 国产成人精品久久亚洲高清不卡| 国产精品亚洲二区在线观看| 99久热re在线精品996热视频| 午夜精品福利在线| 久久99精品国产麻豆宅宅| 国产精品第一区揄拍| 精品日本一区二区三区在线观看| 91热久久免费精品99| 国产在线精品无码二区二区| 日本阿v精品视频在线观看| 久久国产精品免费专区| 亚洲精品字幕在线观看| 精品无人区麻豆乱码1区2区新区| 亚洲综合精品香蕉久久网| 精品美女在线观看| 亚洲A∨精品一区二区三区下载| 伊人久久精品无码二区麻豆| 国产精品日韩深夜福利久久 | 久久久久久久精品成人热色戒| 久久精品日日躁精品| 免费精品久久久久久中文字幕| 久久久无码精品午夜| 伊人久久精品无码麻豆一区| 国产精品成人va| 国产成人精品日本亚洲专区6| 一本久久a久久精品亚洲|