精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java技巧:深拷貝的兩種方式

開發(fā) 后端
拷貝構(gòu)造函數(shù),經(jīng)常被稱作X(X&),是一種特殊的構(gòu)造函數(shù),他由編譯器調(diào)用來(lái)完成一些基于同一類的其他對(duì)象的構(gòu)件及初始化。它的唯一的一個(gè)參數(shù)(對(duì)象的引用)是不可變的(因?yàn)槭莄onst型的)。

⑴淺復(fù)制(淺克隆)

被復(fù)制對(duì)象的所有變量都含有與原來(lái)的對(duì)象相同的值,而所有的對(duì)其他對(duì)象的引用仍然指向原來(lái)的對(duì)象。換言之,淺復(fù)制僅僅復(fù)制所考慮的對(duì)象,而不復(fù)制它所引用的對(duì)象。

⑵深復(fù)制(深克隆)

被復(fù)制對(duì)象的所有變量都含有與原來(lái)的對(duì)象相同的值,除去那些引用其他對(duì)象的變量。那些引用其他對(duì)象的變量將指向被復(fù)制過(guò)的新對(duì)象,而不再是原有的那些被引用的對(duì)象。換言之,深復(fù)制把要復(fù)制的對(duì)象所引用的對(duì)象都復(fù)制了一遍。

Java的clone()方法

⑴clone方法將對(duì)象復(fù)制了一份并返回給調(diào)用者。一般而言,clone()方法滿足:

①對(duì)任何的對(duì)象x,都有x.clone() !=x//克隆對(duì)象與原對(duì)象不是同一個(gè)對(duì)象

②對(duì)任何的對(duì)象x,都有x.clone().getClass()= =x.getClass()//克隆對(duì)象與原對(duì)象的類型一樣

③如果對(duì)象x的equals()方法定義恰當(dāng),那么x.clone().equals(x)應(yīng)該成立。

⑵Java中對(duì)象的克隆

①為了獲取對(duì)象的一份拷貝,我們可以利用Object類的clone()方法。

②在派生類中覆蓋基類的clone()方法,并聲明為public。

③在派生類的clone()方法中,調(diào)用super.clone()。

④在派生類中實(shí)現(xiàn)Cloneable接口。

請(qǐng)看如下代碼:

 

  1. class Student implements Cloneable   
  2. {   
  3.     String name;   
  4.     int age;   
  5.     Student(String name,int age)   
  6.     {   
  7.         this.name=name;   
  8.         this.age=age;   
  9.     }   
  10.     public Object clone()   
  11.     {   
  12.         Object o=null;   
  13.         try   
  14.         {   
  15.         o=(Student)super.clone();//Object中的clone()識(shí)別出你要復(fù)制的是哪一   
  16. // 個(gè)對(duì)象。   
  17.         }   
  18.         catch(CloneNotSupportedException e)   
  19.         {   
  20.             System.out.println(e.toString());   
  21.         }   
  22.         return o;   
  23.     }   
  24. }   
  25.  
  26. public static void main(String[] args)   
  27.     {   
  28.       Student s1=new Student("zhangsan",18);   
  29.       Student s2=(Student)s1.clone();   
  30.       s2.name="lisi";   
  31.      s2.age=20;   
  32. System.out.println("name="+s1.name+","+"age="+s1.age);//修改學(xué)生2后,不影響   
  33.                                                                                                         //學(xué)生1的值。   
  34.    }   

 

說(shuō)明:

①為什么我們?cè)谂缮愔懈采wObject的clone()方法時(shí),一定要調(diào)用super.clone()呢?在運(yùn)行時(shí)刻,Object中的 clone()識(shí)別出你要復(fù)制的是哪一個(gè)對(duì)象,然后為此對(duì)象分配空間,并進(jìn)行對(duì)象的復(fù)制,將原始對(duì)象的內(nèi)容一一復(fù)制到新對(duì)象的存儲(chǔ)空間中。

②繼承自java.lang.Object類的clone()方法是淺復(fù)制。以下代碼可以證明之。

 

  1. class Professor   
  2. {   
  3.     String name;   
  4.     int age;   
  5.     Professor(String name,int age)   
  6.     {   
  7.         this.name=name;   
  8.         this.age=age;   
  9.     }   
  10. }   
  11. class Student implements Cloneable   
  12. {   
  13.     String name;//常量對(duì)象。   
  14.     int age;   
  15.     Professor p;//學(xué)生1和學(xué)生2的引用值都是一樣的。   
  16.     Student(String name,int age,Professor p)   
  17.     {   
  18.         this.name=name;   
  19.         this.age=age;   
  20.         this.p=p;   
  21.     }   
  22.     public Object clone()   
  23.     {   
  24.         Student o=null;   
  25.         try   
  26.         {   
  27.             o=(Student)super.clone();   
  28.         }   
  29.         catch(CloneNotSupportedException e)   
  30.         {   
  31.             System.out.println(e.toString());   
  32.         }   
  33.         o.p=(Professor)p.clone();   
  34.         return o;   
  35.     }   
  36. }   
  37. public static void main(String[] args)   
  38.     {   
  39.       Professor p=new Professor("wangwu",50);   
  40.       Student s1=new Student("zhangsan",18,p);   
  41.       Student s2=(Student)s1.clone();   
  42.       s2.p.name="lisi";   
  43.      s2.p.age=30;   
  44. System.out.println("name="+s1.p.name+","+"age="+s1.p.age);//學(xué)生1的教授   
  45.                                                                                                                 //成為lisi,age為30。   
  46. }   

 

那應(yīng)該如何實(shí)現(xiàn)深層次的克隆,即修改s2的教授不會(huì)影響s1的教授?代碼改進(jìn)如下。

改進(jìn)使學(xué)生1的Professor不改變(深層次的克隆)

 

  1. class Professor implements Cloneable   
  2. {   
  3.     String name;   
  4.     int age;   
  5.     Professor(String name,int age)   
  6.     {   
  7.         this.name=name;   
  8.         this.age=age;   
  9.     }   
  10.     public Object clone()   
  11.     {   
  12.         Object o=null;   
  13.         try   
  14.         {   
  15.             o=super.clone();   
  16.         }   
  17.         catch(CloneNotSupportedException e)   
  18.         {   
  19.             System.out.println(e.toString());   
  20.         }   
  21.         return o;   
  22.     }   
  23. }   
  24. class Student implements Cloneable   
  25. {   
  26.     String name;   
  27.     int age;   
  28.     Professor p;   
  29.     Student(String name,int age,Professor p)   
  30.     {   
  31.         this.name=name;   
  32.         this.age=age;   
  33.         this.p=p;   
  34.     }   
  35.     public Object clone()   
  36.     {   
  37.         Student o=null;   
  38.         try   
  39.         {   
  40.             o=(Student)super.clone();   
  41.         }   
  42.         catch(CloneNotSupportedException e)   
  43.         {   
  44.             System.out.println(e.toString());   
  45.         }   
  46.         o.p=(Professor)p.clone();   
  47.         return o;   
  48.     }   
  49. }   
  50. public static void main(String[] args)   
  51.     {   
  52.       Professor p=new Professor("wangwu",50);   
  53.       Student s1=new Student("zhangsan",18,p);   
  54.       Student s2=(Student)s1.clone();   
  55.       s2.p.name="lisi";   
  56.      s2.p.age=30;   
  57. System.out.println("name="+s1.p.name+","+"age="+s1.p.age);//學(xué)生1的教授不改變。   
  58. }   

 

3.利用串行化來(lái)做深復(fù)制

把對(duì)象寫到流里的過(guò)程是串行化(Serilization)過(guò)程,但是在Java程序師圈子里又非常形象地稱為“冷凍”或者“腌咸菜(picking)”過(guò)程;而把對(duì)象從流中讀出來(lái)的并行化(Deserialization)過(guò)程則叫做“解凍”或者“回鮮(depicking)”過(guò)程。應(yīng)當(dāng)指出的是,寫在流里的是對(duì)象的一個(gè)拷貝,而原對(duì)象仍然存在于JVM里面,因此“腌成咸菜”的只是對(duì)象的一個(gè)拷貝,Java咸菜還可以回鮮。

在Java語(yǔ)言里深復(fù)制一個(gè)對(duì)象,常常可以先使對(duì)象實(shí)現(xiàn)Serializable接口,然后把對(duì)象(實(shí)際上只是對(duì)象的一個(gè)拷貝)寫到一個(gè)流里(腌成咸菜),再?gòu)牧骼镒x出來(lái)(把咸菜回鮮),便可以重建對(duì)象。

如下為深復(fù)制源代碼。

 

  1. public Object deepClone()   
  2. {   
  3. //將對(duì)象寫到流里   
  4. ByteArrayOutoutStream bo=new ByteArrayOutputStream();   
  5. ObjectOutputStream oo=new ObjectOutputStream(bo);   
  6. oo.writeObject(this);   
  7. //從流里讀出來(lái)   
  8. ByteArrayInputStream bi=new ByteArrayInputStream(bo.toByteArray());   
  9. ObjectInputStream oi=new ObjectInputStream(bi);   
  10. return(oi.readObject());   
  11. }   

 

這樣做的前提是對(duì)象以及對(duì)象內(nèi)部所有引用到的對(duì)象都是可串行化的,否則,就需要仔細(xì)考察那些不可串行化的對(duì)象可否設(shè)成transient,從而將之排除在復(fù)制過(guò)程之外。上例代碼改進(jìn)如下。

 

  1. class Professor implements Serializable   
  2. {   
  3.     String name;   
  4.     int age;   
  5.     Professor(String name,int age)   
  6.     {   
  7.         this.name=name;   
  8.         this.age=age;   
  9.     }   
  10. }   
  11. class Student implements Serializable   
  12. {   
  13.     String name;//常量對(duì)象。   
  14.     int age;   
  15.     Professor p;//學(xué)生1和學(xué)生2的引用值都是一樣的。   
  16.     Student(String name,int age,Professor p)   
  17.     {   
  18.         this.name=name;   
  19.         this.age=age;   
  20.         this.p=p;   
  21.     }   
  22.     public Object deepClone() throws IOException,   
  23. OptionalDataException,ClassNotFoundException   
  24. {   
  25. //將對(duì)象寫到流里   
  26. ByteArrayOutoutStream bo=new ByteArrayOutputStream();   
  27. ObjectOutputStream oo=new ObjectOutputStream(bo);   
  28. oo.writeObject(this);   
  29. //從流里讀出來(lái)   
  30. ByteArrayInputStream bi=new ByteArrayInputStream(bo.toByteArray());   
  31. ObjectInputStream oi=new ObjectInputStream(bi);   
  32. return(oi.readObject());   
  33. }   
  34.  
  35. }   
  36. public static void main(String[] args)   
  37.     {   
  38.       Professor p=new Professor("wangwu",50);   
  39.       Student s1=new Student("zhangsan",18,p);   
  40.       Student s2=(Student)s1.deepClone();   
  41.       s2.p.name="lisi";   
  42.      s2.p.age=30;   
  43. System.out.println("name="+s1.p.name+","+"age="+s1.p.age); //學(xué)生1的教授不改變。   
  44. }  

【編輯推薦】

  1. Java程序開發(fā)中的簡(jiǎn)單內(nèi)存分析
  2. Java中靜態(tài)數(shù)組與動(dòng)態(tài)數(shù)組
  3. 深入探索Java工作原理:JVM,內(nèi)存回收及其他
責(zé)任編輯:金賀 來(lái)源: ITEYE
相關(guān)推薦

2011-06-16 10:02:08

JAVA靜態(tài)載入

2011-03-03 10:26:04

Pureftpd

2021-05-27 10:57:01

TCP定時(shí)器網(wǎng)絡(luò)協(xié)議

2009-06-25 13:43:00

Buffalo AJA

2010-10-21 16:24:18

sql server升

2023-03-29 13:06:36

2010-08-06 09:38:11

Flex讀取XML

2010-03-16 15:23:32

java動(dòng)態(tài)載入

2024-09-13 08:27:00

2010-09-07 11:09:59

2010-07-27 15:03:37

Flex ArrayC

2011-03-23 11:22:14

oracle dbli

2010-07-14 10:30:26

Perl多線程

2010-05-10 18:19:00

負(fù)載平衡技術(shù)

2024-09-20 11:32:28

.NET內(nèi)存管理

2016-11-07 09:02:02

Malloc內(nèi)存syscall

2024-02-04 09:24:45

MyBatisSQL語(yǔ)句Spring

2010-10-20 15:48:56

SQL Server許

2010-07-15 14:38:55

Perl eval函數(shù)

2009-09-08 15:22:20

Spring依賴注入
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

韩国三级日本三级少妇99| 91国产免费看| 欧美三日本三级少妇三99| 精品黑人一区二区三区| 欧美丰满老妇| 精品99999| 日韩精品一区二区三区色欲av| jizz在线观看中文| 国产成人精品影视| 国产精品18久久久久久麻辣| 翔田千里88av中文字幕| 日韩精品社区| 91精品国产综合久久精品麻豆| 亚洲人成无码网站久久99热国产| 九色视频在线播放| 高清视频一区二区| 国产精品视频一区二区三区四| 久久久久久久久艹| 色偷偷综合网| 日韩精品在线免费播放| 亚洲天堂网2018| 自拍在线观看| 亚洲一区二区三区四区的| 水蜜桃一区二区| 少妇又色又爽又黄的视频| 蜜桃视频第一区免费观看| 午夜精品www| 久久国产精品国语对白| 精品免费在线| 亚洲免费人成在线视频观看| 中文在线字幕观看| 国产精品白丝久久av网站| 色哟哟亚洲精品| 日本午夜激情视频| 午夜羞羞小视频在线观看| 中文幕一区二区三区久久蜜桃| 韩国成人av| 风流老熟女一区二区三区| 激情欧美一区二区三区在线观看| 国产精品99蜜臀久久不卡二区| 日韩乱码人妻无码中文字幕| 欧美日韩国内| 免费97视频在线精品国自产拍| 美国黑人一级大黄| 免费看日本一区二区| 亚洲国产精品成人av| 一二三区视频在线观看| 亚洲精品一区二区在线播放∴| 欧亚一区二区三区| 日韩一级在线免费观看| 国产精品一区二区av影院萌芽| 午夜伦欧美伦电影理论片| 国产精彩视频一区二区| 日本大胆在线观看| 亚洲午夜视频在线观看| 日韩成人三级视频| 免费看电影在线| 亚洲小说欧美激情另类| 国产va亚洲va在线va| 超碰在线最新网址| 精品福利在线观看| 自慰无码一区二区三区| 中文字幕在线官网| 在线观看亚洲一区| 色婷婷成人在线| 日韩在线激情| 日韩限制级电影在线观看| 精品人妻一区二区三| 日本综合精品一区| 亚洲精品av在线| 精品人妻一区二区三区视频| 精品国产一区一区二区三亚瑟| 亚洲一区二区久久久| 粉嫩精品久久99综合一区| 国产精品久久久乱弄| 久久91精品国产91久久跳| 日韩成人免费在线视频| 蜜桃伊人久久| 国产日本欧美一区二区三区| 国产偷人妻精品一区二区在线| 国产成a人亚洲精品| 国产一区二区在线观看免费播放| 手机福利在线| 国产精品免费视频网站| 青青草视频在线视频| 久久影院午夜精品| 欧美在线视频日韩| 日韩av影视大全| 久久精品福利| 中文字幕亚洲一区二区三区| 欧美性猛交xxxxx少妇| 99re国产精品| 国产精品老牛影院在线观看| www.综合色| 久久亚洲免费视频| 亚洲一区三区在线观看| 岛国在线视频网站| 欧美日本一道本| 天堂www中文在线资源| 欧洲视频一区| 久久久免费观看视频| 奴色虐av一区二区三区| 国产成人在线观看| 欧洲视频一区二区三区| 污污片在线免费视频| 色爱区综合激月婷婷| 男人操女人下面视频| 久久99蜜桃| 久久99久久99精品免观看粉嫩| 精品免费囯产一区二区三区| 国产呦萝稀缺另类资源| 就去色蜜桃综合| 青青草原av在线| 欧美日韩一区二区在线观看视频| 你懂的在线观看网站| 国产精品精品| 国产第一区电影| 免费看日韩av| 亚洲精品免费看| 久热免费在线观看| 精品自拍偷拍| 欧美精品在线网站| 亚洲无码久久久久| 久久精品视频网| 国产高清av在线播放| 91麻豆精品国产综合久久久 | 国产精品福利在线观看网址| 男人天堂网在线视频| 亚洲少妇屁股交4| 国产wwwxx| 久操成人av| 91大神福利视频在线| 亚洲精品一级片| 依依成人精品视频| 91在线第一页| 久久福利影院| 国产精品专区第二| www.黄在线观看| 色天使色偷偷av一区二区| 人体私拍套图hdxxxx| 亚洲视频中文| 成人欧美一区二区三区在线观看| 国产一区久久精品| 337p亚洲精品色噜噜噜| 黄色录像一级片| 美女诱惑一区二区| 在线精品日韩| 四虎国产精品永久在线国在线| 宅男66日本亚洲欧美视频| 极品国产91在线网站| 久久香蕉国产线看观看99| 国产网站免费在线观看| 免费一区二区| 国产精品999999| 成人全视频高清免费观看| 在线观看不卡视频| 亚洲国产精品一区二区久久hs| 麻豆精品久久精品色综合| 亚洲自拍的二区三区| 欧美成人家庭影院| 久久艳片www.17c.com| 国产三级精品在线观看| 亚洲精品第一国产综合野| 日本少妇一级片| 1024成人| 欧美另类高清视频在线| 午夜av成人| 久久久999精品| 亚洲国产精品久久久久久久| 五月婷婷欧美视频| 一区二区三区久久久久| 免费在线视频一区| 大地资源第二页在线观看高清版| 亚洲综合网站| 欧美亚洲国产日本| 五月天婷婷在线视频| 日韩一区二区免费视频| 日操夜操天天操| 国产午夜亚洲精品羞羞网站| 岛国毛片在线播放| 亚洲一级二级| 欧美一区二区在线| 国产专区精品| 欧美最顶级丰满的aⅴ艳星| 都市激情在线视频| 日韩色视频在线观看| 国产又黄又爽又色| 国产精品蜜臀在线观看| 中文字幕天堂av| 日本一区中文字幕 | 成人影院www在线观看| 亚洲国产另类 国产精品国产免费| 中文字幕在线播| 亚洲精品免费在线观看| 国产三级视频网站| 狠狠v欧美v日韩v亚洲ⅴ| 青青草国产精品视频| 97人人精品| 精品国产一区二区三区麻豆免费观看完整版| 三级成人黄色影院| 欧美日韩国产二区| 成人在线免费公开观看视频| 日韩一级二级三级精品视频| 无码人妻久久一区二区三区不卡| 日韩毛片视频在线看| 成年人在线观看av| 国产高清不卡一区二区| 中文久久久久久| 影音先锋亚洲一区| 亚洲自拍三区| 亚洲专区视频| 国产欧美日韩在线播放| 少妇精品视频在线观看| 欧美在线一区二区三区四| 亚洲奶水xxxx哺乳期| 在线视频日韩精品| 亚洲 欧美 激情 小说 另类| 日韩视频国产视频| 一区二区三区午夜| 在线观看一区二区视频| 久久99精品波多结衣一区| 一级女性全黄久久生活片免费| 国产传媒在线看| 久久一日本道色综合| 亚洲欧美高清在线| 国产成人av一区二区三区在线观看| 亚洲最大综合网| 亚洲在线国产日韩欧美| mm131午夜| 999久久久精品国产| 日本一区二区精品| 亚洲黄页在线观看| 精品国产aⅴ麻豆| 中文字幕视频精品一区二区三区| 91视频88av| 日本一区二区三区中文字幕| 中文字幕制服丝袜一区二区三区| 三级4级全黄60分钟| 狠狠入ady亚洲精品经典电影| 一本久道久久综合| 波多野结衣一区| 欧美精品尤物在线| 亚洲精品国产动漫| 久久久久网址| 黑人极品ⅴideos精品欧美棵| 欧美成人免费全部| 中文字幕欧美人妻精品| 欧美综合久久久| 中文字幕av久久爽| 亚洲一区二区精品视频| 久久婷婷综合国产| 亚洲成人激情av| 国产无套在线观看| 欧美日韩黄色大片| 亚洲日本视频在线观看| 欧美视频13p| 无码日韩精品一区二区| 欧美日韩亚洲综合一区 | 国产三级伦理在线| 国内免费久久久久久久久久久| 2021中文字幕在线| 欧美性资源免费| 亚洲精品粉嫩美女一区| 国产欧美日韩视频| 国产精品日本一区二区三区在线 | 国产精品白丝av嫩草影院| 国产激情一区二区三区在线观看| 激情小说一区| 欧美少妇一区| 久久久久电影| 隔壁人妻偷人bd中字| 国产精品视区| 奇米影视四色在线| 国产成人精品在线看| 可以直接看的无码av| 欧美激情中文字幕| 午夜写真片福利电影网| 精品毛片网大全| 中文字幕在线网址| 欧美成人在线直播| 久蕉依人在线视频| 不卡av电影院| 天堂在线中文网官网| 91精品国产自产在线| 99精品在免费线中文字幕网站一区| 久久久一本精品99久久精品66| 欧美裸体在线版观看完整版| 中文字幕色呦呦| 免费视频一区| 日韩欧美中文视频| 91免费国产在线观看| 国产精品精品软件男同| 亚洲成人av电影| 97超碰中文字幕| 日韩电影网在线| 黄色网页在线播放| 日本久久久a级免费| 欧美电影院免费观看| 蜜桃免费一区二区三区| 在线中文字幕第一区| aa免费在线观看| 国产成人在线电影| 在线观看免费小视频| 亚洲国产视频在线| 伊人影院中文字幕| 日韩精品视频三区| 亚洲资源一区| 国产精品亚洲第一区| 九九热hot精品视频在线播放| 2025韩国大尺度电影| 久久久久国产精品一区三寸 | 精品国产一区二区三区四| 日韩一级在线观看| 无遮挡的视频在线观看| 4388成人网| 伊色综合久久之综合久久| 午夜精品亚洲一区二区三区嫩草 | 青青草一区二区| 欧美午夜在线播放| 亚洲精品一区二区三区樱花| 国产九九精品| 伦理片一区二区| 亚洲码国产岛国毛片在线| 中文字幕黄色av| 亚洲欧美日韩综合| 蜜桃麻豆影像在线观看| 国产精品久久九九| 欧美午夜不卡| 性生交大片免费看l| 日韩理论片中文av| 在线免费观看高清视频| 在线成人激情视频| 久久uomeier| 欧美日韩亚洲一区二区三区四区| 亚洲看片一区| 亚洲婷婷在线观看| 亚洲永久免费av| 亚洲欧美黄色片| 欧美丰满老妇厨房牲生活| 国产免费区一区二区三视频免费| 亚洲精品欧洲精品| 男女激情视频一区| 毛片视频免费播放| 欧美日韩国产一级片| 最新国产在线观看| 国产在线视频2019最新视频| 久久高清精品| 精品国产鲁一鲁一区二区三区| 国产精品国产三级国产普通话99 | 精品一区二区三区久久| 婷婷综合在线视频| 欧美巨大另类极品videosbest | 国产精品国产三级国产普通话三级| 一区二区三区麻豆| 日韩亚洲成人av在线| gogo大尺度成人免费视频| 国产四区在线观看| 国产成人免费xxxxxxxx| 日韩女优在线观看| 亚洲免费高清视频| 国产三级一区| 欧美 国产 精品| 成人精品小蝌蚪| 欧美videossex极品| 亚洲最大在线视频| 青草综合视频| 成人小视频在线观看免费| 成人久久18免费网站麻豆| 丁香六月婷婷综合| 亚洲午夜未删减在线观看| 亚洲国产伊人| 欧美成人精品免费| 久久久国产午夜精品| 一级黄色片在线播放| 美女福利精品视频| 欧美国产极品| av污在线观看| 亚洲一区在线看| 久草福利在线视频| 亚洲a∨日韩av高清在线观看| 狠狠综合久久| 四虎永久免费在线观看| 91麻豆精品国产91久久久资源速度| 天堂成人av| 蜜桃臀一区二区三区| 精品无人区卡一卡二卡三乱码免费卡| 久草网在线观看| 亚洲日韩欧美视频| 精品欧美视频| 日本成人在线免费视频| 亚洲欧美电影院| 欧美日韩免费做爰大片| 91在线无精精品一区二区| 国产一区二区你懂的| av最新在线观看| 日韩极品精品视频免费观看| 91精品麻豆| 91视频免费版污| 五月激情综合婷婷| 米奇精品一区二区三区|