一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 淺談Java中的克隆close()和賦值引用的區(qū)別

淺談Java中的克隆close()和賦值引用的區(qū)別

2020-06-19 11:27aspku JAVA教程

下面小編就為大家?guī)硪黄獪\談Java中的克隆close()和賦值引用的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

學生類Student:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package 克隆clone;
 
/*要克隆必須實現(xiàn)這個借口:Cloneable,以標記這個對象可以克隆
 Cloneable:此類實現(xiàn)了 Cloneable 接口,以指示 Object.clone() 方法可以合法地對該類實例進行按字段復制。
 這個接口是標記接口,告訴我們實現(xiàn)該接口的類就可以實現(xiàn)對象的復制了。
 */
public class Student implements Cloneable {
    private String name;
    private int age;
 
    public Student() {
    }
 
    public Student(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    // 重寫克隆方法子列才可以調(diào)用
    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
 
}

測試克隆學生類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package 克隆clone;
 
/*
 *  protected void finalize():當垃圾回收器確定不存在對該對象的更多引用時,由對象的垃圾回收器調(diào)用此方法。用于垃圾回收,但是什么時候回收不確定。
 *  protected Object clone():創(chuàng)建并返回此對象的一個副本。
 *      A:重寫該方法
 *
 * Cloneable:此類實現(xiàn)了 Cloneable 接口,以指示 Object.clone() 方法可以合法地對該類實例進行按字段復制。
 *  這個接口是標記接口,告訴我們實現(xiàn)該接口的類就可以實現(xiàn)對象的復制了。
 */
public class StudentClone {
    public static void main(String[] args) throws CloneNotSupportedException {
        //創(chuàng)建學生對象
        Student s = new Student();
        s.setName("林青霞");
        s.setAge(27);
        
        //克隆學生對象
        Object obj = s.clone();
        Student s2 = (Student)obj;
        System.out.println("---------");
        
        System.out.println(s.getName()+"---"+s.getAge());
        System.out.println(s2.getName()+"---"+s2.getAge());
        
        //以前的做法
        Student s3 = s;
        System.out.println(s3.getName()+"---"+s3.getAge());
        System.out.println("---------");
        
        //其實是有區(qū)別的
        s3.setName("劉意");
        s3.setAge(30);
        System.out.println(s.getName()+"---"+s.getAge());
        System.out.println(s2.getName()+"---"+s2.getAge());
        System.out.println(s3.getName()+"---"+s3.getAge());
        System.out.println("---------");
        
        //把克隆的改一下呢?
        s2.setName("克隆改的名稱");
        s2.setAge(66);
        System.out.println(s.getName()+"---"+s.getAge());
        System.out.println(s2.getName()+"---"+s2.getAge());
        System.out.println(s3.getName()+"---"+s3.getAge());
        
        //也就是說把一個對象的引用賦值給一個引用,當這個引用發(fā)什么該改變的時候,同一個引用指向的對象會發(fā)生改變,但是克隆的不會變化,
        //把克隆的對象改變他的一些屬性,那么也不會影響到其他的對象的值的改變
        
    }
}

以上就是小編為大家?guī)淼臏\談Java中的克隆close()和賦值引用的區(qū)別的全部內(nèi)容了,希望對大家有所幫助,多多支持服務器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 春宵福利网站在线观看 | 精品久久久久久无码人妻国产馆 | 玩高中女同桌肉色短丝袜脚文 | 60岁了天天要小伙子 | 亚洲精品久久久WWW游戏好玩 | 和日本免费不卡在线v | 国产精品天天影视久久综合网 | 国产成人精品高清在线 | 亚洲欧美专区精品伊人久久 | 四虎影库紧急大通知 | 国产精品国产精品国产三级普 | 精品久久久久久综合网 | 日本视频高清免费观看xxx | tube8最近日本护士 | 亚飞与亚基国语1080p在线观看 | 动漫美女强行被吸乳做羞羞事 | 亚洲qvod图片区电影 | 成人快手破解版 | 免费精品一区二区三区在线观看 | 96免费精品视频在线 | 国产小青蛙| 亚洲图片一区二区 | 国产成年人视频 | 黑人巨大精品战中国美女 | 色天天色综合 | 高清视频免费 | 欧美va免费精品高清在线 | 国产精品亚欧美一区二区三区 | 精品精品精品 | 天天操天天舔 | 日本欧美不卡一区二区三区在线 | 精品国产自在天天线2019 | 精品网站一区二区三区网站 | 92精品国产成人观看免费 | 亚洲第一国产 | free性日本 | 国产午夜免费视频 | 亚洲欧美日韩中文字幕久久 | 扒开双腿猛进入爽爽视频ai | 免费全看男女拍拍拍的视频 | 亚洲天堂色视频 |