魚躍于淵

          First know how, Second know why !
          posts - 0, comments - 1, trackbacks - 0, articles - 49

          詳細講述Java中的克隆

          Posted on 2008-09-20 09:01 魚躍于淵 閱讀(133) 評論(0)  編輯  收藏 所屬分類: 精品網摘

          [摘要] 經常聽到有人說java中沒有指針。事實如此嗎?no,java是有指針的,只不過換了個名字而已,也就是我們經常提到的引用。
          [關鍵字]
          Java 克隆
            經常聽到有人說java中沒有指針。事實如此嗎?no,java是有指針的,只不過換了個名字而已,也就是我們經常提到的引用。我們知道,在java中一切都是對象,那么我們如何操控對象?如何在成千上萬的對象中找到我們所需的那個對象呢?又是如何讓對象按照我們的意思來完成任務的呢?

            Object o = new Object();

            這是java中最常見的語句了,在這句話中做了三件事。首先聲明一個Object類型的變量o,在內存中為對象劃分一塊地址new Object(),將聲明的變量指向內存中的對象。如此一來,我們就可以通過o來操縱對象了。就好像孩子們玩的遙控飛機,在空中飛行的是飛機,而使它做出優美動作的卻是孩子們手中的搖控器。

            "克隆"是如今聽到的較多的詞匯,聽說已經將某只羊克隆了好幾份了。但愿這種技術不要在人身上實驗。java中也有"克隆",與現實世界的克隆一樣,將一個實際存在的對象拷貝幾份。如下:

            //倒霉的羊

            public class Sheep implements Cloneable{

            private String name;

            public void setName(String arg) {

            name = arg;

            }

            public String getName() {

            return name;

            }

            public Object clone() throws CloneNotSupportedException {

            return super.clone();

            }

            }

            //克隆

            public class Main {

            public static void main(String[] args) throws CloneNotSupportedException {

            Sheep sheep = new Sheep(); //先得到那只羊的實例

            sheep.setName("我是真的"); //給它做個記號

            System.out.println("sheep.getName() = " + sheep.getName());

            Sheep sheepClone = (Sheep)sheep.clone(); //開始克隆

            System.out.println("sheepClone.getName() = " + sheepClone.getName());

            }

            }

            運行程序結果為:

            sheep.getName() = 我是真的

            sheepClone.getName() = 我是真的

          主站蜘蛛池模板: 邢台县| 南丹县| 策勒县| 淮南市| 鹤山市| 兴隆县| 平远县| 芜湖市| 泸西县| 巴林左旗| 子长县| 中阳县| 祁门县| 长沙市| 松潘县| 延川县| 游戏| 西乌| 富川| 禄丰县| 海原县| 长宁县| 马山县| 文成县| 宁武县| 河间市| 尼玛县| 建阳市| 景谷| 雅江县| 潍坊市| 旬邑县| 哈尔滨市| 阿瓦提县| 广元市| 弥渡县| 苍梧县| 侯马市| 内乡县| 吉隆县| 游戏|