魚躍于淵

          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() = 我是真的

          主站蜘蛛池模板: 政和县| 石楼县| 思南县| 当雄县| 峡江县| 三原县| 瓮安县| 龙海市| 新龙县| 喜德县| 都安| 满城县| 武川县| 都昌县| 西安市| 甘孜县| 巴东县| 永平县| 封丘县| 涞源县| 合作市| 邻水| 铜陵市| 新营市| 县级市| 莆田市| 彭阳县| 庆云县| 安多县| 休宁县| 福安市| 綦江县| 巧家县| 邮箱| 泸州市| 彰武县| 珲春市| 张家界市| 蒲城县| 共和县| 神木县|