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

Java高級特性入門:這三個你必須要了解(泛型、反射和注解)

開發 后端
在日常編程的過程中,泛型在這三個特性之中使用頻率是最高的。”泛型”一詞中的泛字可以理解為泛化的意思,即由具體的、個別的擴大為一般的。

[[286584]]

一、泛型介紹

在日常編程的過程中,泛型在這三個特性之中使用頻率是最高的。”泛型”一詞中的泛字可以理解為泛化的意思,即由具體的、個別的擴大為一般的。Oracle對泛型的官方定義是:泛型類型是通過類型參數化的泛型類或接口。一言以蔽之,泛型就是通過類型參數化,來解決程序的通用性設計和實現的若干問題。

Java泛型是1.5版本后引入的特性,它主要被用于解決三類問題:

1、編譯器類型檢查

Java高級特性入門:這三個你必須要了解(泛型、反射和注解)

例如上圖中的實例1設計了一個簡單的Box類,在其中定義了一個private的object的屬性,同時定義了get()和set()兩個行為,其中set()用于保存object到Box內,set()用于獲取Box中的object對象。從抽象的角度看,Box類抽象了一個用于在盒子中存放物品對象和存取的行為,存取的方法接受或者返回Object類型的對象。在這個抽象的基礎上,可以存放除原始類型外任意類型的對象,Object類型的聲明體現了面向對象中繼承的理念。

在實例2中,實現了不同業務場景下對Box的使用方式。其中列舉了兩種不同的業務場景,場景一需要在Box中存放String類型的對象,場景二需要在Box中存放Integer類型的對象,這種情況下,在實際開發時,場景二中很有可能會錯誤地傳入一個String對象,導致運行時錯誤的發生,而這正是因為Box可以被只有傳入任意類型的對象導致的,這種情況在集合類操作時尤為突出。例如實例3中的情況:

首先聲明了一個List類型的boxes對象,其中存放了兩個對象,一個是String類型的“aaaaa”,另一個是Integer類型的11111。在業務場景一下,使用者認為boxes中存放的所有對象都是String類型的,因此在取出第二個對象并進行類型轉換的時候就發生了錯誤。這種情況往往讓使用者十分迷惑,明明編譯時沒有問題,但是在運行時卻產生了異常。也就是說,在這種面向對象的抽象過程中,無法通過編譯來驗證類型該如何進行使用。

那么泛型是如何解決這類問題的呢?

Java高級特性入門:這三個你必須要了解(泛型、反射和注解)

Oracle意識到了上述的問題,在引入泛型之后,通過將代碼中的“public class Box”更改為“public class Box<T>”來創建泛型類型的聲明,而這個聲明的背后實質上是引入了可以在類中任何地方使用的類型變量T。如實例4中所示:可以看到,除了新增的泛型類型聲明<T>外,所有在原來代碼中出現的Object都被類型變量T所替換。

乍一看類型變量這個詞,感覺有點晦澀難懂,但其實如果仔細思量一番會發現它其實并不難理解,上面的實例4可以理解為“在使用泛型時,可以將類型參數T傳遞給Box類型本身”,結合Oracle給出的官方定義“泛型的本質是類型參數化”會有更深的理解。

在實例5中,在對象聲明和初始化的時候,都指定了類型參數T,在場景一種,T為String;在場景二中,T為Integer。這樣,在場景二中向IntegerBox中傳入String類型的數據“aaaaa”時,程序會報錯。實例6中的泛型集合對象的操作也與之類似,在聲明了一個List<String>的boxes對象之后,如果向boxes中傳入Integer對象11111,程序會報錯。

可以看到,通過對于泛型的使用,之前的多業務場景中的問題都得到了解決,因為現在在編譯階段就可以解決之前類型不匹配的問題,而不用等到運行時才暴露問題,只要合理使用泛型,就能在很大程度上規避此類風險。對于泛型的使用,這種參數化類型的作用表面上看是聲明,背后其實是約定。

2、強制類型轉換

Java高級特性入門:這三個你必須要了解(泛型、反射和注解)

再回顧一下實例3,在List類型的boxes對象中存放了兩個對象,分別是String類型的“aaaaa”和Integer類型的11111。其中存在一個問題,在對于boxes的聲明中,使用者不知道boxes的list中到底應該存放什么類型的對象,而編譯器也不知道集合存放的數據類型,只能通過實際的業務場景來決定這個box是什么類型,采用將Object強制轉換成String的方式,來達到業務要求的效果。

在使用泛型之后,解決了這種場景下必須進行強制類型轉換的問題。如實例7中,通過泛型聲明,指定集合內元素的類型參數為String類型,這樣編譯器就直接知曉了元素的類型,而無需依靠實際的業務邏輯進行轉換,從而解決了這類類型強制轉換的問題。

3、可讀性和靈活性

Java高級特性入門:這三個你必須要了解(泛型、反射和注解)

泛型除了能進行編譯器類型檢查和規避類型強制轉換外,還能有效地提高代碼的可讀性。對于實例3,如果不使用泛型,當一個不清楚業務場景的人在對集合進行操作時,無法知道list中存儲的是什么類型的對象,如果使用了泛型,就能夠通過其類型參數判斷出當前的業務場景,也增加了代碼的可讀性,同時也可以大膽地在抽象繼承的基礎上進行開發了。

泛型使用上的靈活性體現在很多方面,因為它本身實質上就是對于繼承在使用上的一種增強。因為泛型在具體工作時,當編譯器在編譯源碼的時候,首先要進行泛型類型參數的檢查,檢查出類型不匹配等問題,然后進行類型擦除并同時在類型參數出現的位置插入強制轉換指令,從而實現泛型。

除了上述的基礎用法之外,泛型還有幾種特殊的高階用法:

Java高級特性入門:這三個你必須要了解(泛型、反射和注解)

通配符的設計存在一定的場景,例如在使用泛型后,首先聲明了一個Animal的類,而后聲明了一個繼承自Animal類的Cat類,顯然Cat類是Animal類的子類,但是List<Cat>卻不是List<Animal>的子類型,而在程序中往往需要表達這樣的邏輯關系。為了解決這種類似的場景,在泛型的參數類型的基礎上新增了通配符的用法,具體來說有三種用法:<? extends T>、<? super T>、<?>。其中前兩者被稱為限定通配符,<?>被稱為非限定通配符。

1、<? extends T> 上界通配符

上界通配符顧名思義,<? extends T>表示的是類型的上界(包含自身),因此通配的參數化類型可能是T或T的子類。正因為無法確定具體的類型是什么,add方法受限(可以添加null,因為null表示任何類型),但可以從列表中獲取元素后賦值給父類型。如上圖中的第一個例子,第三個add()操作會受限,原因在于List<Animal>和List<Cat>是List<? extends Animal>的子類型。

2、<? super T> 下界通配符

下界通配符<? super T>表示的是參數化類型是T的超類型(包含自身),層層至上,直至Object,編譯器無從判斷get()返回的對象的類型是什么,因此get()方法受限。但是可以進行add()方法,add()方法可以添加T類型和T類型的子類型,如第二個例子中首先添加了一個Cat類型對象,然后添加了兩個Cat子類類型的對象,這種方法是可行的,但是如果添加一個Animal類型的對象,顯然將繼承的關系弄反了,是不可行的。

3、<?> 無界通配符

在理解了上界通配符和下界通配符之后,其實也自然而然的理解了無界通配符。無界通配符用<?>表示,?代表了任何的一種類型,能代表任何一種類型的只有null(Object本身也算是一種類型,但卻不能代表任何一種類型,所以List<Object>和List<null>的含義是不同的,前者類型是Object,也就是繼承樹的最上層,而后者的類型完全是未知的)。

二、反射機制

反射是Java語言本身具備的一個重要的動態機制。用一句話來解釋反射的定義:自控制,自描述。即通過反射可以動態的獲取類、屬性、方法的信息,也能構造對象并控制對象的屬性和行為。

Java高級特性入門:這三個你必須要了解(泛型、反射和注解)

上圖中有一個Apple類,它有兩個構造器、一個屬性和get()、set()兩個行為。在左側的“自描述”中主要是嘗試在動態的過程中借助反射獲取Apple類的構造器信息和對應的參數個數、類的屬性信息和類的方法信息。其中有一個Class類型,它可以產生Class對象被ClassLoader加載,從而在jvm中實現對它的調用。在這段程序中,打印了一些類的信息、類的屬性信息和類的方法信息。在右側的“自控制”的代碼中,實現了在運行的過程中創建了一些對象并觸發這個對象的一些行為,最后還嘗試對對象的屬性進行賦值。反射的基本使用方法較為簡單,但是這種機制卻增強了Java語言的靈活性。

Java高級特性入門:這三個你必須要了解(泛型、反射和注解)

如上圖所示,非反射的Java類的大致運行流程是:編寫源文件Apple.java,然后編譯器將其編譯成字節碼文件Apple.class,最后加載到jvm中并運行。而采用反射的方式時,編譯器一開始對其類型(編譯類型和動態類型)是一無所知的,只有在運行過后,編譯器才知道其真正的類型。

反射的優勢主要在于兩點:

在一些場景中,這種“未知類型”實際上大大增強了程序運行時的靈活性,但是其性能會有一些損耗;

對于對象的類型可以在運行時判斷,這樣的特性實質上是對多態極大地增強,進一步地將上層的抽象與下層的具體實現進行解耦。

這兩點在JDBC Driver中體現的非常明顯,例如上圖中的實例中,JDBC的驅動加載方式是通過反射機制實現的,從而保證運行時可以動態選擇要加載的驅動程序,程序靈活性大大增強。另外,JDBC只是設計了驅動需要實現的接口,并不關心驅動廠商的個數和實現方式,只要安裝統一的規范即可,至于類型的判斷和具體方法的觸發,交給運行期動態判斷即可,這種反射機制的使用淋漓盡致的體現了多態,并且降低了類與類之間的耦合度。

三、注解的使用

注解是在1.5版本引入的,現在已經成為日常程序開發中非常重要的一部分。注解是一種元數據,本身沒有任何作用,如果要有,必須依附在具體的對象上,在日常使用中最常見的兩個注解是@Override和@Deprecated。

先不考慮注解具體的概念、用法和如何工作等問題,注解與“標簽”的概念十分相似,@Override可以理解為在方法上添加了一個標簽,其代表的就是“這是一個繼承關系中,子類已經重寫的方法。”更進一步理解,這個標簽在某個方法上加上之后,如果父類中沒有該方法,那么在編譯的時候就會報錯,而且可以解決在繼承場景下一些不留心將方法名拼錯的情況,同時增強了一些程序的可讀性。

Java高級特性入門:這三個你必須要了解(泛型、反射和注解)

如上圖所示,同樣以@Override為例,對注解進行進一步的提取和抽象。具體抽象出了四個方面:首先在作用域方面,它只能作用于子類重寫的方法上;其次在生命周期方面,注解只是在編譯時進行檢查,在編譯結束后便沒有了任何作用;除此之外,在文檔支持方面,為例解決可讀性的問題,設計了@Documented的注解,用來表示注解的說明注釋是否包含在JavaDoc中;在層級結構設計方面,設計了@inherited用來表示注解是否可以被子類繼承。

Java高級特性入門:這三個你必須要了解(泛型、反射和注解) 在上圖中定義了一個蘋果描述注解,包含了@Target、@Retention、@Inherited和@Documented四個注解,表示它生命周期是程序運行的聲明周期、可以被子類繼承、文檔可以被包含。在設計出這個注解之后,可以將其用在前文中的Apple實例上,如圖中在類和方法上各添加了一個注解,在添加完后,便可以配合反射看到注解的效果,這樣可以更好的加強其自描述的能力和配置的靈活性。 

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2018-11-08 12:07:38

備份手動磁盤

2018-09-21 11:11:34

備份離線自動

2023-04-26 16:34:12

2015-10-23 15:22:16

AsyncTask基礎Android

2021-09-23 08:45:46

iOS 15蘋果AI

2022-01-26 23:16:25

開源NLP 庫GitHub

2021-03-10 09:42:30

數字人民幣數字貨幣區塊鏈

2021-03-10 14:50:44

數字人民幣加密貨幣貨幣

2016-12-23 08:59:00

AB 測試CRO

2011-06-23 17:13:07

SEO

2021-06-07 11:33:24

服務器優化TIME-WAIT

2021-04-27 22:27:19

手機安卓蘋果

2018-07-12 11:11:46

人工智能AI術語

2017-10-29 06:50:30

前端開發CSSWeb

2018-08-03 15:30:33

2022-01-05 07:07:37

Go核心設計

2021-04-16 09:17:39

機器學習人工智能AI

2018-04-28 11:03:58

2017-01-06 10:07:39

Linuxwindowsatime

2021-03-01 07:34:42

Java泛型ArrayList
點贊
收藏

51CTO技術棧公眾號

国产伦精品一区二区三区妓女下载 | 日韩男人的天堂| 久久爱www.| 亚洲一区二区三区四区在线| 91网在线免费观看| 亚洲精品午夜久久久久久久| 免费av一区| 777亚洲妇女| 国产精品一线二线三线| 极品美乳网红视频免费在线观看 | 日本成人在线免费视频| xxxxx日韩| 国产成人亚洲综合a∨猫咪| 午夜精品蜜臀一区二区三区免费 | 中文在线资源天堂| 欧美精品首页| 亚洲天堂一区二区三区| 手机在线免费毛片| www.日韩| 亚洲综合免费观看高清在线观看| 欧美大香线蕉线伊人久久| 亚洲在线观看av| 一本久道久久综合婷婷鲸鱼| 国产一区二区日韩精品欧美精品| 丰满饥渴老女人hd| 88xx成人永久免费观看| 亚洲一卡二卡三卡四卡无卡久久 | 亚洲乱码中文字幕| 日韩av不卡在线播放| 亚洲国产精品久久久久久6q| 视频在线观看一区| 久久免费精品日本久久中文字幕| 91麻豆制片厂| 欧美偷窥清纯综合图区| 日韩午夜激情免费电影| 男人添女人下面免费视频| 末成年女av片一区二区下载| 依依成人综合视频| 亚洲午夜精品一区二区| 欧美一区二区视频| 北岛玲一区二区三区四区| 91在线|亚洲| 伊人22222| 视频一区欧美日韩| 欧美在线视频免费| 久久精品一二区| 激情综合在线| 欧美日韩国产第一页| 2025国产精品自拍| 色狮一区二区三区四区视频| 亚洲无限av看| 黄免费在线观看| 亚洲成人一品| 亚洲精品成人久久电影| 伊人久久久久久久久| 亚洲人体在线| 欧美军同video69gay| av网站在线不卡| www.一区| 欧美日韩综合色| 国模杨依粉嫩蝴蝶150p| 欧美成a人片在线观看久| 日韩欧美在线中文字幕| 欧美aⅴ在线观看| 成人国产二区| 日本精品视频一区二区| 麻豆传传媒久久久爱| gogo亚洲高清大胆美女人体 | 日韩一级裸体免费视频| 91香蕉视频网| 亚洲高清影视| 久久91精品国产| 日本三级理论片| 亚洲日韩成人| 欧美一级在线播放| 精品国产乱子伦| 男人的j进女人的j一区| 国产日韩欧美中文| 午夜精品久久久久久久第一页按摩| 国产精品一区二区不卡| 国产精品免费一区二区三区观看| 男人天堂av网| 久久综合网色—综合色88| 欧美日韩免费精品| 久久久久久综合网| 毛片aaaaa| 你懂的免费在线观看| heyzo一本久久综合| 久久久99爱| 青青草在线播放| 中文一区在线播放| 色婷婷综合视频在线观看| 丁香六月激情网| 九色porny丨国产首页在线| 狠狠躁夜夜躁人人爽天天天天97 | 中文字幕人成人乱码| 欧美高清性猛交| 亚洲第一在线播放| 久久国产成人午夜av影院| 国产精品传媒毛片三区| 精品影院一区| 亚洲色图在线视频| 3d动漫一区二区三区| 99久久精品一区二区成人| 91麻豆精品国产91久久久久| 国产成人av无码精品| 欧美色女视频| 欧美激情视频一区二区三区不卡| 精品不卡一区二区| 国产一区二区不卡老阿姨| 黑人另类av| 日本不卡三区| 欧美日韩国产精品一区| 最新免费av网址| 日韩成人动漫在线观看| 久久精品91久久香蕉加勒比| 日韩污视频在线观看| 美女视频黄a大片欧美| 韩国成人一区| 草莓福利社区在线| 91黄视频在线| 亚洲 自拍 另类 欧美 丝袜| 亚洲色图美女| 久久久之久亚州精品露出| 一区二区三区亚洲视频| 成人免费电影视频| 天天干天天色天天爽| 成人免费无遮挡| 亚洲精品一区二区三区99| 午夜黄色福利视频| 丝袜a∨在线一区二区三区不卡| 亚洲va欧美va国产综合剧情| 黄色美女网站在线观看| 婷婷开心激情综合| 粗大的内捧猛烈进出视频| 99久久夜色精品国产亚洲1000部| 日本人成精品视频在线| 日本久久一级片| 亚洲猫色日本管| 亚洲精品永久视频| 欧美天天综合| 国产精品香蕉国产| 国产三级视频在线播放线观看| 午夜精品一区二区三区三上悠亚| 午夜免费福利网站| 久久久久久免费视频| 国产精品视频区| 国产免费av高清在线| 欧美性20hd另类| 99re久久精品国产| 亚洲黑丝一区二区| 国产另类自拍| а_天堂中文在线| 精品日韩欧美在线| 99热精品免费| 国产91综合网| 日韩精品一区二区免费| 欧美专区视频| 欧美大片大片在线播放| www男人的天堂| 亚洲一区视频在线观看视频| www.四虎精品| 一区视频在线看| 国产精品亚洲综合| 蜜臀久久精品| 国产视频在线观看一区二区| 欧美在线观看不卡| 国产亲近乱来精品视频| 亚洲激情在线观看视频| 91麻豆精品国产91久久久平台| 国产日产亚洲精品| www免费在线观看| 欧美不卡激情三级在线观看| 精品少妇theporn| av一区二区三区四区| 日批视频在线免费看| 国产99久久精品一区二区300| 国产精品福利在线| 麻豆网站在线免费观看| 日韩精品一区二区三区蜜臀| 日韩大片免费在线观看| 久久久99久久| 国产欧美一区二| 国内精品久久久久久久97牛牛| 国模精品娜娜一二三区| 户外露出一区二区三区| 久久精品亚洲国产| 日本成人动漫在线观看| 色婷婷精品久久二区二区蜜臂av | 自拍偷拍福利视频| 一色桃子久久精品亚洲| 最新中文字幕日本| 久久激情婷婷| 超碰在线免费观看97| 超碰cao国产精品一区二区| 欧美一区二区三区免费观看| 免费av在线网址| 日韩成人性视频| 中文字幕一区二区久久人妻| 亚洲专区一二三| 色无极影院亚洲| 国产在线不卡视频| 色欲av无码一区二区人妻| 国产精品精品国产一区二区| 国产一级二级三级精品| av久久网站| 性欧美办公室18xxxxhd| 日本在线观看网站| 亚洲精品mp4| 国产毛片一区二区三区va在线| 欧美日韩国产在线看| 国产又粗又硬又长又爽| 26uuu国产一区二区三区 | 国产寡妇亲子伦一区二区| 国产成人久久777777| 欧美日韩国产一区精品一区| 日本午夜精品一区二区三区| 欧美视频二区欧美影视| 国产精品美女在线观看| 色吧亚洲日本| 九九精品在线观看| jizz在线免费观看| 精品在线小视频| 亚洲精品无遮挡| 欧美乱熟臀69xxxxxx| 日日夜夜综合网| 一区二区三区不卡在线观看| xxxxx99| 91视频观看视频| 一级黄色片毛片| 国产一区二区三区四| 最近免费中文字幕中文高清百度| 99成人在线| 福利视频免费在线观看| 小说区亚洲自拍另类图片专区| 日本高清久久一区二区三区| 美女午夜精品| 懂色中文一区二区三区在线视频| 日韩毛片免费视频一级特黄| 国产成人精品在线| 日本韩国欧美| 欧美专区第一页| 免费一二一二在线视频| 欧美二区在线播放| av在线影院| 理论片在线不卡免费观看| 午夜毛片在线| 中文字幕欧美日韩在线| 国产三级在线观看| 亚洲一区999| 国产午夜在线视频| 亚洲一级片在线看| 成人av一区| 中文日韩在线观看| jizz日韩| 日日骚久久av| 免费观看成人高潮| 久久网福利资源网站| www在线免费观看视频| 欧美日韩成人在线播放| 麻豆福利在线观看| 91精品国产精品| 亚洲精品**中文毛片| 日本午夜人人精品| 超碰这里只有精品| 成人激情视频在线观看| а天堂中文最新一区二区三区| 91九色单男在线观看| 麻豆精品国产| 国产精品久久国产精品| 林ゆな中文字幕一区二区| 久久久综合亚洲91久久98| 精品国产乱码久久久久久蜜坠欲下 | jizz中文字幕| 国产精品色婷婷久久58| chinese全程对白| 国产精品久久久久久久久免费桃花| 中文字幕资源站| 亚洲自拍偷拍图区| 69成人免费视频| 欧美日韩一区二区在线视频| 国产绿帽一区二区三区| 亚洲电影免费观看| 国产一级网站视频在线| 久久中文字幕在线| sis001亚洲原创区| 国产精品美女久久久免费| 亚洲男女网站| 国产亚洲二区| 国产一区二区在线| 特级西西人体www高清大胆| 亚洲人成在线影院| 香蕉视频999| 波多野结衣视频一区| 国产激情av在线| 亚洲一区在线电影| 中文字幕在线观看视频一区| 欧美一级片免费看| 最新中文字幕免费| 久久无码av三级| 日韩不卡av在线| 亚洲精品国产精华液| www.伊人久久| 日韩精品一区不卡| 亚洲综合激情网| 中文字幕第四页| 欧美日韩电影一区| 黑人操亚洲女人| 国产一区二区三区欧美| 天使と恶魔の榨精在线播放| 国产91精品不卡视频| 99精品女人在线观看免费视频| 久久精品人人做人人爽电影| 亚洲91中文字幕无线码三区| 亚洲中文字幕无码中文字| 国产成人综合在线| 一级片黄色录像| 亚洲午夜免费电影| 国产精品久久久久久久久久久久久久久久久久 | 日韩av高清在线| 久久婷婷国产麻豆91天堂| 韩国久久久久久| av激情久久| 手机亚洲手机国产手机日韩| 国产日韩一区二区在线| 国产精品69毛片高清亚洲| 成人激情五月天| 欧美日韩免费在线观看| 黑人乱码一区二区三区av| 日韩视频永久免费观看| 久久久成人av毛片免费观看| 国产综合 伊人色| 欧美精品日韩| 在线观看av免费观看| 国产精品看片你懂得| 午夜精品久久久久久久蜜桃| 亚洲精品久久久一区二区三区| a天堂中文在线官网在线| 国产日韩欧美电影在线观看| 精品理论电影在线| 日韩精品一区二区三区不卡 | 色综合欧美在线| 无码国产精品96久久久久| 欧美黄色成人网| 日韩激情综合| 国产精品av免费| 久久9热精品视频| 俄罗斯毛片基地| 欧美无人高清视频在线观看| 国产二区视频在线观看| 国产福利视频一区二区| 国产一区二区区别| 91网址在线播放| 亚洲国产高清aⅴ视频| 欧美性受xxx黑人xyx性爽| 亚洲图片在区色| 成人亚洲网站| 制服诱惑一区| 韩国v欧美v亚洲v日本v| 午夜精品福利在线视频| 欧美一卡二卡三卡| 国产精品186在线观看在线播放| 成人av免费看| 精品999网站| 素人fc2av清纯18岁| 色婷婷亚洲综合| 日本最新在线视频| 91影视免费在线观看| 欧美日韩国产探花| 女同性恋一区二区三区| 色哟哟日韩精品| 东凛在线观看| 91手机视频在线观看| 亚洲天堂男人| 永久免费看mv网站入口78| 欧洲视频一区二区| 亚洲麻豆精品| caoporen国产精品| 亚洲免费综合| 色婷婷国产精品免| 日韩欧美视频一区| 四虎1515hh.com| 亚洲欧洲日韩av| www.成人精品| 69久久夜色精品国产7777| 红桃成人av在线播放| 国内自拍第二页| 亚洲国产精品影院| 春暖花开成人亚洲区| 成人欧美在线观看| 国产精品秘入口| 91免费视频国产| 亚洲二区精品| 手机毛片在线观看| 日韩欧美国产一区二区在线播放| 擼擼色在线看观看免费| 亚洲欧美日韩在线综合| 成人国产一区二区三区精品| 成人小视频在线播放| 欧美成人第一页|