在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Java/ Java對象克隆
Java for循環(huán)
Java接口
Java是什么?
Java命名約定
java中方法重載和方法重寫的區(qū)別
Java運(yùn)算符
Java抽象類
Java快速入門
Java實(shí)例初始化程序塊
Java靜態(tài)綁定和動態(tài)綁定
Java do-while循環(huán)
Java對象克隆
Java Object類
Java聚合
Java繼承
Java this關(guān)鍵字
Java虛擬機(jī)內(nèi)部體系結(jié)構(gòu)
Java構(gòu)造器(構(gòu)造方法)
Eclipse安裝和配置
Java多態(tài)
Java方法重載
Java while循環(huán)
Java教程
Java按值調(diào)用和引用調(diào)用
Java strictfp關(guān)鍵字
Java封裝
Java語言特點(diǎn)
Java數(shù)組
Java instanceof運(yùn)算符
Java包裝類
Java命令行參數(shù)
Java包
Java面向?qū)ο螅∣OP)概念
簡單Java程序
Java基礎(chǔ)實(shí)例程序
Java對象和類
Java continue語句
Java抽象類和接口的區(qū)別
C++ VS Java比較
Java if/else語句
Java switch語句
Java歷史
Java變量和數(shù)據(jù)類型
安裝Java環(huán)境(Linux)
Java JDK安裝和配置
Hello Java程序的內(nèi)部細(xì)節(jié)
Java break語句
Java方法重寫
Java Unicode編碼系統(tǒng)
怎么樣開始學(xué)習(xí)Java編程?
對象和類之間的區(qū)別
Java訪問修飾符
Java super關(guān)鍵字
Java注釋
JDK,JRE和JVM之間的區(qū)別
Java final關(guān)鍵字
Java static關(guān)鍵字

Java對象克隆

對象克隆是一種創(chuàng)建對象的精確副本的方法。 Object類的clone()方法用于克隆對象。java.lang.Cloneable接口必須由我們要創(chuàng)建其對象克隆的類實(shí)現(xiàn)。如果我們不實(shí)現(xiàn)Cloneable接口,clone()方法生成CloneNotSupportedException。

clone()方法在Object類中定義。 clone()方法的語法如下:

protected Object clone() throws CloneNotSupportedException

為什么要使用clone()方法?

clone()方法保存用于創(chuàng)建對象的精確副本的額外處理任務(wù)。 如果我們使用new關(guān)鍵字執(zhí)行它,它將需要執(zhí)行大量的處理,這就是為什么我們使用對象克隆。

對象克隆的優(yōu)點(diǎn)

  • 少處理任務(wù)。

clone()方法示例(對象克隆)

讓我們來看看對象克隆的簡單例子

class Student18 implements Cloneable {
    int rollno;
    String name;

    Student18(int rollno, String name) {
        this.rollno = rollno;
        this.name = name;
    }

    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

    public static void main(String args[]) {
        try {
            Student18 s1 = new Student18(101, "amit");

            Student18 s2 = (Student18) s1.clone();

            System.out.println(s1.rollno + " " + s1.name);
            System.out.println(s2.rollno + " " + s2.name);

        } catch (CloneNotSupportedException c) {
        }

    }
}

執(zhí)行上面代碼,得到如下結(jié)果 -

101 amit
101 amit

從上面的例子可以看出,兩個(gè)引用變量都有相同的值。 因此,clone()將對象的值復(fù)制到另一個(gè)對象。 因此,在實(shí)際應(yīng)用中我們不需要編寫顯式代碼將對象的值復(fù)制到另一個(gè)對象。

如果通過new關(guān)鍵字創(chuàng)建另一個(gè)對象并將另一個(gè)對象的值賦給這個(gè)對象,則需要對該對象進(jìn)行大量處理。 所以為了節(jié)省額外的處理任務(wù),我們使用clone()方法。