久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java剑开天门(二)

發布時間:2024/3/13 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java剑开天门(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java知識復習二


相關導航
Java劍開天門(一)
Java劍開天門(二)
Java劍開天門(三)
Java劍開天門(四)
Java劍開天門(五)


Java導航

  • Java知識復習二
  • 前言
  • 一、數組與方法
    • 1.1 數組定義
    • 1.2 數組初始化
    • 1.3 方法定義
    • 1.4 方法重載(OverLoading)
      • 1.4.1 定義
      • 1.4.2 規則
    • 1.5 方法重寫(`@Override`注解)
      • 1.5.1 定義
      • 1.5.2 規則
    • 1.6 重寫與重載關系
    • 1.7 方法引用
      • 1.7.1 定義
  • 二、數組常用方法
    • 1、打印數組
    • 2、數組排序
    • 3、數組長度
    • 4、數組相等
    • 5、數組克隆
    • 6、合并數組
    • 7、反轉數組
    • 8、移除元素
    • 9、將數組元素組成一個字符串
    • 10、檢查數組是否包含某一個值
    • 11、ArrayList集合與Array數組相互轉化
  • 三、面向對象程序設計
    • 1、面向對象三大特性
      • 1.1 封裝
      • 1.2 繼承
      • 1.3 多態
    • 2、類和對象基礎知識
      • 2.1 類的定義
      • 2.2 對象的創建及使用
      • 2.3 構造方法
      • 2.4 內部類
    • 3、 幾個關鍵字
      • 3.1 this關鍵字
        • 1)this.屬性名
        • 2)this.方法
        • 3)this.()
      • 3.2 super關鍵字
        • 1)super()
        • 2)super.屬性名/方法
        • 3)super關鍵字和this關鍵字重要結論
      • 3.3 instanceof關鍵字
    • 4、抽象類和接口
      • 4.1 抽象類
        • 1)抽象方法
        • 2)抽象類
      • 4.2 接口
      • 4.3 抽象類和接口的區別
        • 1)語法層面
        • 2)設計層面


前言

本博文重在夯實Java基礎的知識點,回歸書本,夯實基礎,學深學精

近期需要鞏固項目和找實習,計劃打算將Java基礎從頭復習一遍,夯實基礎,可能對Java的一些機制不了解或者一知半解,正好借此機會深入學習,也算記錄自己的一個學習總結。
Java基礎參考書籍:《Java 開發實戰經典 名師講壇 第2版》與《Java核心技術 卷I》


一、數組與方法

#mermaid-svg-rqsOhCXt1U1KwnIA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-rqsOhCXt1U1KwnIA .error-icon{fill:#552222;}#mermaid-svg-rqsOhCXt1U1KwnIA .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-rqsOhCXt1U1KwnIA .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-rqsOhCXt1U1KwnIA .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-rqsOhCXt1U1KwnIA .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-rqsOhCXt1U1KwnIA .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-rqsOhCXt1U1KwnIA .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-rqsOhCXt1U1KwnIA .marker{fill:#333333;stroke:#333333;}#mermaid-svg-rqsOhCXt1U1KwnIA .marker.cross{stroke:#333333;}#mermaid-svg-rqsOhCXt1U1KwnIA svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-rqsOhCXt1U1KwnIA .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-rqsOhCXt1U1KwnIA .cluster-label text{fill:#333;}#mermaid-svg-rqsOhCXt1U1KwnIA .cluster-label span{color:#333;}#mermaid-svg-rqsOhCXt1U1KwnIA .label text,#mermaid-svg-rqsOhCXt1U1KwnIA span{fill:#333;color:#333;}#mermaid-svg-rqsOhCXt1U1KwnIA .node rect,#mermaid-svg-rqsOhCXt1U1KwnIA .node circle,#mermaid-svg-rqsOhCXt1U1KwnIA .node ellipse,#mermaid-svg-rqsOhCXt1U1KwnIA .node polygon,#mermaid-svg-rqsOhCXt1U1KwnIA .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-rqsOhCXt1U1KwnIA .node .label{text-align:center;}#mermaid-svg-rqsOhCXt1U1KwnIA .node.clickable{cursor:pointer;}#mermaid-svg-rqsOhCXt1U1KwnIA .arrowheadPath{fill:#333333;}#mermaid-svg-rqsOhCXt1U1KwnIA .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-rqsOhCXt1U1KwnIA .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-rqsOhCXt1U1KwnIA .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-rqsOhCXt1U1KwnIA .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-rqsOhCXt1U1KwnIA .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-rqsOhCXt1U1KwnIA .cluster text{fill:#333;}#mermaid-svg-rqsOhCXt1U1KwnIA .cluster span{color:#333;}#mermaid-svg-rqsOhCXt1U1KwnIA div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-rqsOhCXt1U1KwnIA :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Java數組 數組分類 方法定義 數組方法 一維數組 二維數組 多維數組 定義格式 方法重載 方法重寫 方法引用 打印數組 數組排序 數組長度 數組相等 數組克隆 合并數組 反轉數組 移除元素 將數組元素組成一個字符串 檢查數組是否包含某一個值 ArrayList集合與Array數組相互轉化

1.1 數組定義

  • 是一個線性的序列,一組數據的集合,可以快速訪問其他的元素。
  • 當創建了一個數組時,他的容量是不變的,而且在生命周期也是不能改變的。
  • JAVA數組會做邊界檢查,如果發現有越界現象,會報RuntimeException異常錯誤,當然檢查邊界會以效率為代價。
  • JAVA還提供其他集合,list,map,set,他們處理對象的時候就好像這些對象沒有自己的類型一樣,而是直接歸根于Object,這樣只需要創建一個集合,把對象放進去,取出時轉換成自己的類型就行了。
    數組是特殊的集合,是線性的集合,集合和數組的區別如下
    ?1) 數組聲明了它容納的元素的類型,而集合可以不聲明。
    ?2) 數組是靜態的,一個數組實例具有固定的大小,一旦創建了就無法改變容量了。而集合是可以動態擴展容量,可以根據需要動態改變大小,集合提供更多的成員方法,能滿足更多的需求。
    ?3) 數組的存放的類型只能是一種(基本類型/引用類型),集合存放的類型可以不是一種(不加泛型時添加的類型是Object)。
    ?4) 數組是Java語言中內置的數據類型,是線性排列的,執行效率或者類型檢查都是最快的。
  • 集合體系結構

1.2 數組初始化

數組的索引從0開始,側重學習一維數組

  • 一維數組
1)動態初始化格式 數據類型 [] 數組名稱 = new 數據類型[數組長度];2)靜態初始化格式 數據類型 [] 數組名稱 = new 數據類型[]{元素1,元素2,元素3};3)靜態初始化省略格式 數據類型 [] 數組名稱 = {元素1,元素2,元素3};
  • 二維數組
    ?如果把一維數組比作幾何圖形中的線性圖形,那么二維數組就相當于一個表格
    ?左索引代表行,右索引代表列
1)動態初始化格式 數據類型 [][] 數組名稱 = new 數據類型[行的個數][列的個數];2)靜態初始化格式 數據類型 [][] 數組名稱 = new 數據類型[][]{{元素1,元素2,元素3},{元素1,元素2,元素3},……}; //內大括號代表一行,內大括號里的每一元素代表一列; //根據內大括號個數確定行數,根據內大括號里元素個數確定列數; 3)靜態初始化省略格式 數據類型 [][] 數組名稱 ={{元素1,元素2,元素3},{元素1,元素2,元素3},……};
  • 多維數組
    ?只需在聲明數組時將索引與中括號再加一組就可提高數組的維數。
    ?如三維數組? 數據類型 ?[][][] ?數組名稱=new? 數據類型 ?[個數][個數][個數] ;

1.3 方法定義

  • 解決某件事的功能實現。
  • 是一段代碼塊的封裝,是某一功能的實現。
    ? 語法格式
修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2,......){ 執行語句包括1)方法的調用2)變量的操作:聲明 賦值 修改3)程序結構:順序結構 選擇結構 循環結構 return 返回值; }
  • 修飾符
    這是可選的,告訴編譯器如何調用該方法,定義了該方法的訪問類型。
    ? 訪問控制權限修飾符
    ? 訪問控制權限修飾符來控制元素的訪問范圍。
    ? ? public ? 表示公開的,在任何位置都可以訪問。
    ? ? protected ? 同包、子類(繼承)可以訪問
    ? ? 缺省 ? 表示default權限的,同包下可以訪問。
    ? ? private ? 表示私有的,只能在本類中可以訪問。
    ? ? 修飾符的范圍: private < 缺省 < protected < public
    ? ? 訪問控制權限修飾符可以修飾:類、變量、方法…

? 非訪問控制權限修飾符
? Java非訪問控制修飾符包括: final, abstract, static,synchronized 和 volatile。


? ? final ? 表示最終的,不可被改變的, 用于修飾類、方法、屬性和變量
? ? ? ? 1) 用final修飾類時,被修飾的類不可以被繼承。final類中的所有成員方法都會被隱式地指定為final方法。
? ? ? ? 2)用final修飾方法時,被修飾的方法不能被重寫。在早期的Java版本中被final修飾的方法會轉為內嵌調用從而提升性能。(注:類的private方法會隱式地被指定為final方法。)
? ? ? ? 3)用fina修飾的變量,如果是基本數據類型的變量,則其數值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個對象。(注:用fianl修飾的類屬性變量必須進行初始化(包括在構造方法中初始化))


? ? static? 靜態的,全局的,用于修飾類、方法、變量和代碼塊
? ? static對象可以在它的任何對象創建之前訪問,無需引用任何對象,可以通過類名加“.”進行直接訪問。
? ? ? ? 1) 如果一個類要被聲明為static的,只有一種情況,就是靜態內部類。靜態內部類可以聲明普通成員變量和方法,而普通內部類不能聲明static成員變量和方法。
? ? ? ? 2)用static修飾的代碼塊也叫靜態代碼塊,是在類中獨立于類成員的static語句塊,它不在任何的方法體內,可以有多個,位置可以隨便放,JVM加載類時會執行這些靜態的代碼塊,如果static代碼塊有多個,JVM將按照它們在類中出現的先后順序依次執行它們,每個代碼塊只會被執行一次。
? ? ? ? 3)用static修飾的方法,只能調用static變量和static方法,不能以任何形式引用this和super,是抽象方法abstract。
? ? ? ? 4)用static修飾的變量,在定義時必須要進行初始化,且初始化時間要早于非靜態變量。


? ? native? 原生的,本地的? 用于修飾方法
? ? native關鍵字用來修飾方法。被native關鍵字修飾的方法是一個原生態方法,方法對應的實現不是在當前文件,而是在用其他語言(如C和C++)實現的文件中。Java使用native方法來擴展Java程序的功能,通過JNI接口調用其他語言來實現對底層的訪問。


? ? volatile? 易變的,不穩定的,用于修飾變量
? ? 用 volatile 修飾的變量通常是為了保證不同線程對這個變量進行操作時的可見性,即一個線程修改了某個變量的值,這新值對其他線程來說是立即可見的。volatile是Java提供的一種輕量級的同步機制,在并發編程中,它也扮演著比較重要的角色,可以被看作是一種 “程度較輕的 synchronized ”。與 synchronized 塊相比,volatile 變量所需的編碼較少,并且運行時開銷也較少,但是它所能實現的功能也僅是 synchronized 的一部分。
? ? ? ? 1) 當一個共享變量被 volatile 修飾時,它會保證修改的值會立即被更新到主存,當有其他線程需要讀取時,它會去主存中讀取新值。也就是每次取值在都會取內存中的值,每次更新都會立即更新主存中的值。
? ? ? ? 2) volatile 關鍵字能禁止指令重排序,所以 volatile 能在一定程度上保證有序性。volatile 關鍵字禁止指令重排序有兩層意思,
? ? ? ? ?①當程序執行到 volatile 變量的讀操作或者寫操作時,在其前面的操作的更改肯定全部已經進行,且結果已經對后面的操作可見,在其后面的操作肯定還沒有進行;
? ? ? ? ?②在進行指令優化時,不能將在對 volatile 變量訪問的語句放在其后面執行,也不能把 volatile 變量后面的語句放到其前面執行。


? ? synchronized? 同步,在時間上一致,同步進行,用于修飾方法和代碼塊。
? ? 用 synchronized 修飾方法和代碼塊來控制在同一時刻只有一個線程執行該段代碼,從而保證多并發情況下的數據安全。synchronized 就是給修飾的方法或代碼塊聲明一個鎖。用synchronized 修飾方法和代碼塊通常被稱為“加鎖”。
? ? ? ? 1) 類鎖:簡單來說,線程執行到一個類鎖,其它被synchronized修飾的此類鎖不能被執行。 當 synchronized 修飾靜態方法或 synchronized 修飾代碼塊時傳入某個class對象(synchronized (XXXX.class))時被稱為類鎖。某個線程得到了一個類鎖之后,其他所有被該類鎖加鎖方法或代碼塊是鎖定的, 其他線程是無法訪問的,但是其他線程還是可以訪問沒有被該類鎖加鎖的任何代碼。
? ? ? ? 2)對象鎖:簡單來說,線程執行到一個對象鎖,其它被synchronized修飾的此對象鎖不能被執行。 當 synchronized 修飾非靜態方法或 synchronized 修飾代碼塊時傳入非class對象(synchronized this))時被稱為對象鎖。某個線程得到了對象鎖之后,該對象的其他被 synchronized修飾的方法(同步方法)是鎖定的,其他線程是無法訪問的。但是其他線程還是可以訪問沒有進行同步的方法或者代碼;當獲取到與對象關聯的內置鎖時,并不能阻止其他線程訪問該對象,當某個線程獲得對象的鎖之后,只能阻止其他線程獲得同一個鎖。
? ? ? ? 3)區別與關系: 如同每個類只有一個class對象而類的實例可以有很多個一樣,每個類只有一個類鎖,每個實例都有自己的對象鎖,所以不同對象實例的對象鎖是互不干擾的。但是有一點必須注意的是,其實類鎖只是一個概念上的東西,并不是真實存在的,它只是用來幫助我們理解鎖定實例方法和靜態方法的區別的。類鎖和對象鎖是不一樣的鎖,是互相獨立的,兩者不存在競爭關系,線程獲得對象鎖的同時,也可以獲得該類鎖,即同時獲得兩個鎖,這是允許的。
? ? ? ? 4) 因為被 synchronized 修飾的代碼在同一時刻只有一個線程執行,所以也就保證了操作的原子性和內存可見性。


  • 返回值類型
    方法可能有返回值。返回值無則用void,有返回值則用對應的返回數據類型。
    一般用一個變量來接住返回值,在最后return這個變量。
  • 方法名
    方法的實際名稱,方法名和參數表共同構成方法簽名。
  • 參數類型
    參數像一個占位符。
    當方法被調用時,傳遞值給參數,這個值被稱為實參或者變量。
    參數表是指方法的參數類型、順序、和參數的個數。參數是可選的,方法可以不包含任何參數。
    形式參數:在方法被調用時用于接收外界輸入的數據。即定義方法時的參數。
    實參:調用方法時實際傳給方法的數據。是調用方法時的參數。

1.4 方法重載(OverLoading)

1.4.1 定義

??方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數的類型或參數的個數。
??Java的方法重載,就是在類中可以創建多個方法,它們可以有相同的名字,但必須具有不同的參數,即或者是參數的個數不同,或者是參數的類型不同。
??調用方法時通過傳遞給它們的不同個數和類型的參數,以及傳入參數的順序來決定具體使用哪個方法。
發生在同一個類中
方法重載就是方法名稱重復,參數列表不同即加載參數不同,方法體可不同

1.4.2 規則

  • 被重載的方法必須改變參數列表;

  • 被重載的方法可以改變返回類型;

  • 被重載的方法可以改變訪問修飾符;

  • 被重載的方法可以聲明新的或更廣的檢查異常;

  • 方法能夠在同一個類中或者在一個子類中被重載。

1.5 方法重寫(@Override注解)

1.5.1 定義

??在Java和其他一些高級面向對象的編程語言中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。
??但有時子類并不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫。方法重寫又稱方法覆蓋。
發生在不同類中
方法重寫就是方法名、參數列表、返回值相同,方法體不同

1.5.2 規則

  • 方法名、參數、返回值相同;

  • 子類方法不能縮小父類方法的訪問權限;

  • 子類方法不能拋出比父類方法更多的異常(但子類方法可以不拋出異常);

  • 存在于父類和子類之間;

  • 方法被定義為final不能被重寫。

1.6 重寫與重載關系

??重載(overload)和覆蓋(overide)是 Java 多態性的不同表現方式。

1.7 方法引用

1.7.1 定義

??當要傳遞給Lambda體的操作,已經有了實現方法,可以使用方法引用。
??方法引用涉及到Lambda表達式,會在Lambda這一章節具體學習。

二、數組常用方法

Java8中文API

1、打印數組

import java.util.Arrays;//導包 static String toString(boolean[] a) 返回指定數組的內容的字符串表示形式。 static String toString(byte[] a) 返回指定數組的內容的字符串表示形式。 static String toString(char[] a) 返回指定數組的內容的字符串表示形式。 static String toString(double[] a) 返回指定數組的內容的字符串表示形式。 static String toString(float[] a) 返回指定數組的內容的字符串表示形式。 static String toString(int[] a) 返回指定數組的內容的字符串表示形式。 static String toString(long[] a) 返回指定數組的內容的字符串表示形式。 static String toString(Object[] a) 返回指定數組的內容的字符串表示形式。 static String toString(short[] a) 返回指定數組的內容的字符串表示形式。 class example{public static void main(Sting[] args){Arrays.toString(數組名);} }

2、數組排序

import java.util.Arrays;//導包 static void sort(byte[] a) 按照數字順序排列指定的數組。 static void sort(byte[] a, int fromIndex, int toIndex) 按升序排列數組的指定范圍。 static void sort(char[] a) 按照數字順序排列指定的數組。 static void sort(char[] a, int fromIndex, int toIndex) 按升序排列數組的指定范圍。 static void sort(double[] a) 按照數字順序排列指定的數組。 static void sort(double[] a, int fromIndex, int toIndex) 按升序排列數組的指定范圍。 static void sort(float[] a) 按照數字順序排列指定的數組。 static void sort(float[] a, int fromIndex, int toIndex) 按升序排列數組的指定范圍。 static void sort(int[] a) 按照數字順序排列指定的數組。 static void sort(int[] a, int fromIndex, int toIndex) 按升序排列數組的指定范圍。 static void sort(long[] a) 按照數字順序排列指定的數組。 static void sort(long[] a, int fromIndex, int toIndex) 按升序排列數組的指定范圍。 static void sort(Object[] a) 對指定對象升序排列的陣列,根據natural ordering的元素。 static void sort(Object[] a, int fromIndex, int toIndex) 對指定對象升序排列的數組的指定范圍內,根據natural ordering的元素。 static void sort(short[] a) 按照數字順序排列指定的數組。 static void sort(short[] a, int fromIndex, int toIndex) 按升序排列數組的指定范圍。 static <T> void sort(T[] a, Comparator<? super T> c) 根據指定的比較器引發的順序對指定的對象數組進行排序。 static <T> void sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c) 根據指定的比較器引發的順序對指定的對象數組的指定范圍進行排序。 class example{public static void main(Sting[] args){Arrays.sort(數組名);} }

3、數組長度

  • 使用數組的length屬性
import java.lang.*;//導包 class example{public static void main(Sting[] args){for(int i=0;i<數組名.length;i++){……}} }
  • 使用Array中的getLength方法
import java.lang.reflect.Array;//導包 static int getLength(Object array) 返回指定數組對象的長度,如 intclass example{public static void main(Sting[] args){for(int i=0;i<Array.getLength(數組名);i++){//Array.getLength()……}} }

4、數組相等

  • 使用數組自帶的equals方法
    ??
    ?實際上是使用Object類的equals()方法。
    ??
import java.lang.*;//導包 class example{public static void main(Sting[] args){數組名.equals(另一數組名);//結果為true或false} }
  • 使用Arrays類中的equals方法
import java.util.Arrays;//導包 static boolean equals(boolean[] a, boolean[] a2) 如果兩個指定的布爾數組彼此 相等 ,則返回 truestatic boolean equals(byte[] a, byte[] a2) 如果兩個指定的字節數組彼此 相等 ,則返回 truestatic boolean equals(char[] a, char[] a2) 如果兩個指定的字符數組彼此 相等 ,則返回 truestatic boolean equals(double[] a, double[] a2) 如果兩個指定的雙精度數組彼此 相等 ,則返回 truestatic boolean equals(float[] a, float[] a2) 如果兩個指定的浮動數組彼此 相等 ,則返回 truestatic boolean equals(int[] a, int[] a2) 如果兩個指定的int數組彼此 相等 ,則返回 truestatic boolean equals(long[] a, long[] a2) 如果兩個指定的longs數組彼此 相等 ,則返回 truestatic boolean equals(Object[] a, Object[] a2) 如果兩個指定的對象數組彼此 相等 ,則返回 truestatic boolean equals(short[] a, short[] a2) 如果兩個指定的短褲陣列彼此 相等 ,則返回 true class example{public static void main(Sting[] args){Arrays.equals(數組名,另一數組名);//結果為true或false} }

5、數組克隆

  • new操作符的本意是分配內存。程序執行到new操作符時, 首先去看new操作符后面的類型,根據類型分配內存,再調用構造函數,填充對象的各個域,這一步就叫對象的初始化。初始化完畢后,可以把他的引用(地址)發布到外部,在外部就可以通過引用操縱這個對象。
  • clone在第一步是和new相似的,都是分配內存,調用clone方法時,分配的內存和源對象一樣,然后再使用源對象中對應的各個域,填充新對象的域。同樣可以把這個新對象的引用發布到外部 。
    ??復制引用【直接賦值】

    ??復制對象【用clone方法】

  • 使用基類 Object 的 clone()方法
import java.lang.*;//導包 class example{public static void main(Sting[] args){int[] src={1,2,3};int[] copy=src.clone();} }
  • 使用Arrays的copyOf……系列方法
import java.util.Arrays;//導包 class example{public static void main(Sting[] args){Arrays.copyOf(數組名,數組名.length);} } static boolean[] copyOf(boolean[] original, int newLength) 使用 false (如有必要)復制指定的數組,截斷或填充,以使副本具有指定的長度。 static byte[] copyOf(byte[] original, int newLength) 復制指定的數組,用零截取或填充(如有必要),以便復制具有指定的長度。 static char[] copyOf(char[] original, int newLength) 復制指定的數組,截斷或填充空字符(如有必要),以便復制具有指定的長度。 static double[] copyOf(double[] original, int newLength) 復制指定的數組,用零截取或填充(如有必要),以便復制具有指定的長度。 static float[] copyOf(float[] original, int newLength) 復制指定的數組,用零截取或填充(如有必要),以便復制具有指定的長度。 static int[] copyOf(int[] original, int newLength) 復制指定的數組,用零截取或填充(如有必要),以便復制具有指定的長度。 static long[] copyOf(long[] original, int newLength) 復制指定的數組,用零截取或填充(如有必要),以便復制具有指定的長度。 static short[] copyOf(short[] original, int newLength) 復制指定的數組,用零截取或填充(如有必要),以便復制具有指定的長度。 static <T> T[] copyOf(T[] original, int newLength) 復制指定的數組,用空值截斷或填充(如有必要),以便復制具有指定的長度。 static <T,U> T[] copyOf(U[] original, int newLength,<? extends T[]> newType) 復制指定的數組,用空值截斷或填充(如有必要),以便復制具有指定的長度。 static boolean[] copyOfRange(boolean[] original, int from, int to) 將指定數組的指定范圍復制到新數組中。 static byte[] copyOfRange(byte[] original, int from, int to) 將指定數組的指定范圍復制到新數組中。 static char[] copyOfRange(char[] original, int from, int to) 將指定數組的指定范圍復制到新數組中。 static double[] copyOfRange(double[] original, int from, int to) 將指定數組的指定范圍復制到新數組中。 static float[] copyOfRange(float[] original, int from, int to) 將指定數組的指定范圍復制到新數組中。 static int[] copyOfRange(int[] original, int from, int to) 將指定數組的指定范圍復制到新數組中。 static long[] copyOfRange(long[] original, int from, int to) 將指定數組的指定范圍復制到新數組中。 static short[] copyOfRange(short[] original, int from, int to) 將指定數組的指定范圍復制到新數組中。 static <T> T[] copyOfRange(T[] original, int from, int to) 將指定數組的指定范圍復制到新數組中。 static <T,U> T[] copyOfRange(U[] original, int from, int to,<? extends T[]> newType) 將指定數組的指定范圍復制到新數組中。

6、合并數組

  • 使用Arrays中的copyOf方法
import java.util.Arrays;//導包 public class example{public static void main(String[] args){int[] A=new int[]{1,3,5,7,9};int[] B=new int[]{2,4,6,8,10};int[] result=Arrays.copyOf(A,10);//使result數組長度為10,并將A數組拷貝至新數組,此時result數組與原數組不是同一塊內存,原來的內存還是5個元素,result的是擴容后的空間for(int x=0;x<B.length;x++){result[A.length+x]=B[x];}for(int i:result){System.out.print(i+" ");}System.out.print("");//換行} }

7、反轉數組

package test;/*** 數組的反轉*/ public class TestDemo {public static void main(String[] args) {int[] arr = new int[]{1,2,3,4,5,6};for(int elem:arr){System.out.print(elem + ",");}// 打印反轉后的元素arr = reverse(arr);System.out.println();for(int elem:arr){System.out.print(elem + ",");}}// 實現數組元素的翻轉public static int[] reverse(int[] arr){// 遍歷數組for(int i = 0;i < arr.length / 2;i++){// 交換元素int temp = arr[arr.length -i - 1];arr[arr.length -i - 1] = arr[i];arr[i] = temp;}// 返回反轉后的結果return arr;}// 第二種方式public static int[] reverse1(int[] arr){int[] arr1 = new int[arr.length];for(int i = arr.length-1;i >= 0;i--){arr1[arr.length-i-1] = arr[i];}return arr1;} }

8、移除元素

  • 通過創建新的數組,將保留的原數組中的元素賦值到新數組來實現原數組元素的刪除。同理,可以實現數組添加元素。
package package1;import java.util.Arrays;public class example {public static void main(String[] args) {int[] array1 = new int[] {4, 5, 6, 7};int num = 2;int[] newArray = new int[array1.length-1];for(int i=0;i<newArray.length; i++) {// 判斷元素是否越界if (num < 0 || num >= array1.length) {throw new RuntimeException("元素越界... "); } // if(i<num) {newArray[i] = array1[i];}else {newArray[i] = array1[i+1];}}// 打印輸出數組內容System.out.println(Arrays.toString(array1));array1 = newArray;System.out.println(Arrays.toString(array1));} }

9、將數組元素組成一個字符串

  • 遍歷數組
import java.util.Arrays; public class example{public static void main(String[] args){// TODO Auto-generated method stub//定義一個int類型的數組int[] i ={4,5,8,6,5,8,7,4,5};//調用自定義方法將int數組的方法轉換成字符串toStringMethod(i);}private static void toStringMethod(int[] arr){// 自定義一個字符緩沖區,StringBuilder sb = new StringBuilder();sb.append("[ ");//遍歷int數組,并將int數組中的元素轉換成字符串儲存到字符緩沖區中去for(int i=0;i<sb.length;i++){if(i!=arr.length-1){sb.append(arr[i]+" ,");else{sb.append(arr[i]+" ]");}System.out.println(sb);}}

10、檢查數組是否包含某一個值

  • 遍歷數組
import java.util.Arrays; public class example{public static void main(String[] args){String[] vowels = { "A", "I", "E", "O", "U" };// using simple iteration over the array elementsfor (String s : vowels) {if ("E".equals(s)) {System.out.println("E found in the vowels list.");}}} }

11、ArrayList集合與Array數組相互轉化

  • Array: 讀快改慢

  • Linked :改快讀慢

  • Hash:介于兩者之間

//集合轉數組,集合中toArray()的方法import java.util.*;public class example {public static void main(String[] arr) {Object[] listArray = list.toArray();Object[] setArray = set.toArray();} } //數組轉集合,Arrays.asList(數組名)方法import java.util.*;public class example {public static void main(String[] arr) {List list = new ArrayList();list = Arrays.asList(array); //注意:對于int[]數組不能直接這樣做,因為asList()方法的參數必須是對象。應該先把int[]轉化為Integer[]。Set set = new HashSet(Array.asList(array)); //使用list構造set} }

三、面向對象程序設計

#mermaid-svg-aiADBokzsQ2unJeW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-aiADBokzsQ2unJeW .error-icon{fill:#552222;}#mermaid-svg-aiADBokzsQ2unJeW .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-aiADBokzsQ2unJeW .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-aiADBokzsQ2unJeW .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-aiADBokzsQ2unJeW .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-aiADBokzsQ2unJeW .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-aiADBokzsQ2unJeW .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-aiADBokzsQ2unJeW .marker{fill:#333333;stroke:#333333;}#mermaid-svg-aiADBokzsQ2unJeW .marker.cross{stroke:#333333;}#mermaid-svg-aiADBokzsQ2unJeW svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-aiADBokzsQ2unJeW .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-aiADBokzsQ2unJeW .cluster-label text{fill:#333;}#mermaid-svg-aiADBokzsQ2unJeW .cluster-label span{color:#333;}#mermaid-svg-aiADBokzsQ2unJeW .label text,#mermaid-svg-aiADBokzsQ2unJeW span{fill:#333;color:#333;}#mermaid-svg-aiADBokzsQ2unJeW .node rect,#mermaid-svg-aiADBokzsQ2unJeW .node circle,#mermaid-svg-aiADBokzsQ2unJeW .node ellipse,#mermaid-svg-aiADBokzsQ2unJeW .node polygon,#mermaid-svg-aiADBokzsQ2unJeW .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-aiADBokzsQ2unJeW .node .label{text-align:center;}#mermaid-svg-aiADBokzsQ2unJeW .node.clickable{cursor:pointer;}#mermaid-svg-aiADBokzsQ2unJeW .arrowheadPath{fill:#333333;}#mermaid-svg-aiADBokzsQ2unJeW .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-aiADBokzsQ2unJeW .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-aiADBokzsQ2unJeW .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-aiADBokzsQ2unJeW .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-aiADBokzsQ2unJeW .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-aiADBokzsQ2unJeW .cluster text{fill:#333;}#mermaid-svg-aiADBokzsQ2unJeW .cluster span{color:#333;}#mermaid-svg-aiADBokzsQ2unJeW div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-aiADBokzsQ2unJeW :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 面向對象程序設計 面向對象三大特性 類和對象 抽象類和接口 封裝 繼承 多態 類的定義 對象創建與使用 構造方法 內部類 關鍵字 抽象類 接口 抽象方法 抽象類 兩者區別

??早期的程序經歷了【面向問題】、【面向過程】的階段,以往的程序設計方法不能適應現代的軟件的技術要求。故【面向對象】的程序設計方法被提出。
??面向對象的概念和應用已經超越了程序設計與開發,擴展到很寬的范圍,如數據庫系統、交互式界面、應用結構、應用平臺、分布式系統、網絡管理結構、CAD技術、人工智能等領域。

  • 面向過程 (Procedure Oriented) ?以過程為核心,強調事件的流程、順序,如:C語言。
  • 面向對象(Object Oriented) ?以對象為核心,強調事件的角色、主體,如:C++、Java。
  • 總結 ?面向過程解決簡單問題效率高,面向對象有良好的繼承性、拓展性、復用性。

1、面向對象三大特性

1.1 封裝

  • 把對象的屬性(成員變量)和行為(成員方法)看成一個密不可分的一個整體,將這兩者封裝在一個不可分割的獨立單位中(即對象)。
  • 信息隱蔽,把不需要讓外界知道的信息隱蔽起來,有些對象的屬性和行為允許外界用戶知道或使用,但不允許修改。
  • 具體表現?Java中通過將屬性的訪問權限聲明為私有的(private),再提供公共的(public)方法getXxx()和setXxx()實現對屬性的操作。
  • IDEA中自動生成get/set方法
    ?lombok + @Data注解
    ??1)IDEA中安裝插件 lombok
    ??2)在類上方加上@Data注解
package com.my.app.xxx;@Data public class Student {private String name;private int age;private String grade; }

??IDEA自動生成
???1)在類內點擊 ctrl+回車
???2)選中Getter and Setter

???3)選中三個屬性,點擊 OK


???4)get和set方法自動出現

package com.my.app.model;/*** Description TODO*/ public class Student {private String name;private int age;private String grade;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;}public String getGrade() {return grade;}public void setGrade(String grade) {this.grade = grade;} }

1.2 繼承

  • 繼承又稱為派生。首先擁有反映事物一般特性的類,然后在此基礎上派生出反映特殊事物的類。
  • 被繼承的類稱為父類或者超類,而經繼承產生的類稱為子類或派生類。
  • 一個子類只允許繼承一個父類,稱為單繼承;允許繼承多個父類,稱為多繼承。目前許多面向對象語言不支持多繼承。而Java通過接口(interface)來彌補由于Java不支持多繼承而帶來的子類不能享用多個父類的成員的缺點。
  • 關鍵詞extends
class 子類 extends 父類 {}
  • 子類實際上是將父類定義的更加的具體化的一種手段。父類表示的范圍大,而子類表示的范圍小。

1.3 多態

  • 指在父類中定義的屬性和方法被子類繼承之后,可以具有不同的數據類型或表現出不同的行為。
  • JAVA中的多態可以簡單的理解為一種事物的多種形態,當然多態是在繼承的基礎上有重寫才存在。
    ??實現多態的必要條件
  • 繼承
    ?在多態中必須存在有繼承關系的子類和父類。
  • 重寫
    ?子類對父類中某些方法進行重新定義,在調用這些方法時就會調用子類的方法。
  • 向上轉型
    ?在多態中需要將子類的引用賦給父類對象,只有這樣該引用才既能可以調用父類的方法,又能調用子類的方法。
    ?
    ?
    多態的例子
1)創建 Figure 類,在該類中首先定義存儲二維對象的尺寸, 然后定義有兩個參數的構造方法,最后添加 area() 方法,該方法計算對象的面積。 代碼如下 public class Figure {double dim1;double dim2;Figure(double d1, double d2) {// 有參的構造方法this.dim1 = d1;this.dim2 = d2;}double area() {// 用于計算對象的面積System.out.println("父類中計算對象面積的方法,沒有實際意義,需要在子類中重寫。");return 0;} } 2)創建繼承自 Figure 類的 Rectangle 子類, 該類調用父類的構造方法,并且重寫父類中的 area() 方法。 代碼如下 public class Rectangle extends Figure {Rectangle(double d1, double d2) {super(d1, d2);}double area() {System.out.println("長方形的面積:");return super.dim1 * super.dim2;} } 3)創建繼承自 Figure 類的 Triangle 子類,該類與 Rectangle 相似。 代碼如下 public class Triangle extends Figure {Triangle(double d1, double d2) {super(d1, d2);}double area() {System.out.println("三角形的面積:");return super.dim1 * super.dim2 / 2;} } 4)創建 Test 測試類,在該類的 main() 方法中首先聲明 Figure 類的變量 figure, 然后分別為 figure 變量指定不同的對象,并調用這些對象的 area() 方法。 代碼如下 public class Test {public static void main(String[] args) {Figure figure; // 聲明Figure類的變量figure = new Rectangle(9, 9);System.out.println(figure.area());System.out.println("===============================");figure = new Triangle(6, 8);System.out.println(figure.area());System.out.println("===============================");figure = new Figure(10, 10);System.out.println(figure.area());} }_ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||_ \ | | \\\ - /'| | | | \_| `\`---'// |_/ | \ .-\__ `-. -'__/-. / ___`. .' /--.--\ `. .'___ ."" '< `.___\_<|>_/___.' _> \"". | | : `- \`. ;`. _/; .'/ / .' ; | \ \ `-. \_\_`. _.'_/_/ -' _.' / ================-.`___`-.__\ \___ /__.-'_.'_.-'================ `=--=-' 輸出 長方形的面積: 81.0 =============================== 三角形的面積: 24.0 =============================== 父類中計算對象面積的方法,沒有實際意義,需要在子類中重寫。 0.0

?此案例很好的詮釋了多態性,子類向上轉型成相同名稱的對象,調用相同的方法,輸出不同的結果。

2、類和對象基礎知識

?在面向對象中類和對象是最基本、最重要的組成單元。
?類實際上表示一個客觀世界某類群體的一些基本特征抽象。
?對象是表示一個個具體的東西

  • 類是對象的集合,對象是類的實例。

2.1 類的定義

?類是由屬性和方法組成的。
?實際上一個屬性就是一個變量,二方法就是一些操作的行為(也就是我們所說的函數);
?類的定義格式如下

修飾符 class 類名{修飾符 數據類型 屬性;修飾符 數據類型 屬性;修飾符 數據類型 屬性;……修飾符 返回值類型 方法名(參數1,參數2,……){程序語句;[return 表達式; ]}}

2.2 對象的創建及使用

?需要通過對象來實例化類,即使用類;
?對象的創建

類名 對象名稱= new 類名();//只要有關鍵字new就表示開辟新的堆內存空間 訪問對象中的屬性和方法 【訪問屬性】——對象名稱.屬性名 【訪問方法】——對象名稱.方法名() 創建對象的五種方法 —————————————————————————————————————————————————————————————————————— 1)使用new關鍵字創建對象 這是我們最常見的也是最簡單的創建對象的方式, 通過這種方式我們可以調用任意的構造函數(無參的和有參的)去創建對象。 比如 Student student = new Student(); —————————————————————————————————————————————————————————————————————— 2)使用Class類的newInstance方法(反射機制)創建對象 我們也可以通過Java的反射機制使用Class類的newInstance方法來創建對象, 事實上,這個newInstance方法調用無參的構造器創建對象, 比如 Student student2 = (Student)Class.forName("Student類全限定名").newInstance();  或者 Student stu = Student.class.newInstance(); —————————————————————————————————————————————————————————————————————— 3)使用Constructor類的newInstance方法(反射機制)創建對象 java.lang.relect.Constructor類里也有一個newInstance方法可以創建對象, 該方法和Class類中的newInstance方法很像,但是相比之下, Constructor類的newInstance方法更加強大些, 我們可以通過這個newInstance方法調用有參數的和私有的構造函數, 比如 public class Student {private int id;public Student(Integer id) {this.id = id;}public static void main(String[] args) throws Exception {Constructor<Student> constructor = Student.class.getConstructor(Integer.class);Student stu3 = constructor.newInstance(123);} } —————————————————————————————————————————————————————————————————————— 4)使用Clone方法創建對象無論何時我們調用一個對象的clone方法,JVM都會幫我們創建一個新的、一樣的對象,特別需要說明的是,用clone方法創建對象的過程中并不會調用任何構造函數。簡單而言,要想使用clone方法,我們就必須先實現Cloneable接口并實現其定義的clone方法,這也是原型模式的應用。比如public class Student implements Cloneable{private int id;public Student(Integer id) {this.id = id;}@Overrideprotected Object clone() throws CloneNotSupportedException {// TODO Auto-generated method stubreturn super.clone();}public static void main(String[] args) throws Exception {Constructor<Student> constructor = Student.class.getConstructor(Integer.class);Student stu3 = constructor.newInstance(123);Student stu4 = (Student) stu3.clone();} } —————————————————————————————————————————————————————————————————————— 5)使用()序列化機制創建對象當我們反序列化一個對象時,JVM會給我們創建一個單獨的對象,在此過程中,JVM并不會調用任何構造函數。為了反序列化一個對象,我們需要讓我們的類實現Serializable接口,比如public class Student implements Cloneable, Serializable {private int id;public Student(Integer id) {this.id = id;}@Overridepublic String toString() {return "Student [id=" + id + "]";}public static void main(String[] args) throws Exception {Constructor<Student> constructor = Student.class.getConstructor(Integer.class);Student stu3 = constructor.newInstance(123);// 寫對象ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream("student.bin"));output.writeObject(stu3);output.close();// 讀對象ObjectInputStream input = new ObjectInputStream(new FileInputStream("student.bin"));Student stu5 = (Student) input.readObject();System.out.println(stu5);} }

類實例化的內存分配詳解

Person p = new Person(); 的過程如下

存在繼承關系的Student stu = new Student(); 的過程如下

2.3 構造方法

?構造方法是一個比較特殊的方法,通過構造方法可以完成對象的創建,以及實例變量的初始化。
?換句話說:構造方法是用來創建對象,并且同時給對象的屬性賦值。
?注意:實例變量沒有手動賦值的時候,系統會賦默認值。
?構造方法格式

[修飾符列表] 構造方法名(形式參數列表){構造方法體;通常在構造方法體當中給屬性賦值,完成屬性的初始化。 } 注意點 1)修飾符列表目前統一寫:public。千萬不要寫public static2)構造方法名和類名必須一致。 3)構造方法不需要【指定返回值類型】, 也不能寫void,寫上void表示普通方法,就不是構造方法了。在對象創建時,使用new運算符來調用構造方法。 new 構造方法名(實際參數列表);
  • 當一個類中沒有提供任何構造方法,系統默認提供一個無參數的構造方法。
    這個無參數的構造方法叫做缺省構造器。
  • 當一個類中手動的提供了構造方法,那么系統將不再默認提供無參數構造方法。
    建議將無參數構造方法手動的寫出來,這樣一定不會出問題。
  • 構造方法是支持方法重載的。在一個類當中構造方法可以有多個。
    并且所有的構造方法名字都是一樣的。
  • 如果實例變量賦初始值,會在new對象的時候執行賦值,然后再執行構造方法里的代碼!!!

2.4 內部類

可以將一個類的定義放在里另一個類的內部,這就是內部類。廣義上我們將內部類分為四種:成員內部類、靜態內部類、局部(方法)內部類、匿名內部類。

/** * 我是一個外部類(外部是相對內部而言) */ public class Outer{/*** 我是一個內部類*/class Inner{//...} }

使用內部類最吸引人的原因是:每個內部類都能獨立地繼承一個(接口的)實現,所以無論外圍類是否已經繼承了某個(接口的)實現,對于內部類都沒有影響。——《Think in java》

也就是說內部類擁有類的基本特征。(可以繼承父類,實現接口。)在實際問題中我們會遇到一些接口無法解決或難以解決的問題,此時我們可以使用內部類繼承某個具體的或抽象的類,間接解決類無法多繼承引起的一系列問題。(注:內部類可以嵌套內部類,但是這極大的破壞了代碼的結構,這里不推薦使用。)

/**1. Outer類繼承了ClassA,實現了IFunctionA */ public class Outer extends ClassA implements IFunctionA{ /*** Inner類繼承了ClassB,實現了IFunctionB*/public class Inner extends ClassB implements IfunctionB{//} }

具體來說,內部類信息(屬性、方法)可以和外部類重名;
內部類是具有類的基本特征的獨立實體;
可以利用訪問修飾符隱藏內部類的實施細節,提供了更好的封裝;
靜態內部類使用時可直接使用,不需先創造外部類。

demo講解

  • 成員內部類
    1)外部類、內部類
/*** 外部類、成員內部類的定義*/ public class Outer {private int outerVariable = 1;private int commonVariable = 2;private static int outerStaticVariable = 3;//省略getter/setter/*** 成員方法*/public void outerMethod() {System.out.println("我是外部類的outerMethod方法");}/*** 靜態方法*/public static void outerStaticMethod() {System.out.println("我是外部類的outerStaticMethod靜態方法");}/*** 內部類*/public class Inner {private int commonVariable = 20;/*** 構造方法*/public Inner() {}/*** 成員方法,訪問外部類信息(屬性、方法)*/public void innerShow() {//當和外部類沖突時,直接引用屬性名,是內部類的成員屬性System.out.println("內部的commonVariable:" + commonVariable);//內部類訪問外部屬性System.out.println("outerVariable:" + outerVariable);//當和外部類屬性名重疊時,可通過外部類名.this.屬性名System.out.println("外部的commonVariable:" + Outer.this.commonVariable);System.out.println("outerStaticVariable:" + outerStaticVariable);//訪問外部類的方法outerMethod();outerStaticMethod();}}/*** 外部類訪問內部類信息*/public void outerShow() {Inner inner = new Inner();inner.innerShow();} }

??2)其他類使用成員內部類

/* * 其他類使用成員內部類*/ public class Other {public static void main(String[] args) {//外部類對象Outer outer = new Outer();//創造內部類對象Outer.Inner inner = outer.new Inner();inner.innerShow();/** 可在Outer中定義get方法,獲得Inner對象,那么使用時,只需outer.getInnerInstance()即可。* public Inner getInnerInstance(Inner類的構造方法參數){* return new Inner(參數);* }*/} }

??3)運行結果(和innerShow()方法對照)

??4)小結——【成員內部類當成Outer的成員信息存在 】

  • 可以是任何的訪問修飾符。
  • 內部類的內部不能有靜態信息。
  • 內部類也是類,該繼承繼承,該重寫重寫,該重載重載,this和super隨便用。
  • 外部類如何訪問內部類信息,必須new之后打點訪問。
  • 內部類可以直接使用外部類的任何信息,如果屬性或者方法發生沖突,調用外部類.this.屬性或者方法。
  • 其它類如何訪問內部類:
Outer outer=new Outer();//創造內部類對象Outer.Inner inner=outer.new Inner();inner.inner_show();
  • 靜態內部類
    ?1)外部類、內部類
/*** 外部類、內部類定義*/ public class Outer {private int outerVariable = 1;/*** 外部類定義的屬性(重名)*/private int commonVariable = 2;private static int outerStaticVariable = 3;static {System.out.println("Outer的靜態塊被執行了……");}/*** 成員方法*/public void outerMothod() {System.out.println("我是外部類的outerMethod方法");}/** 靜態方法*/public static void outerStaticMethod() {System.out.println("我是外部類的outerStaticMethod靜態方法");}/*** 靜態內部類*/public static class Inner {/*** 成員信息*/private int innerVariable = 10;private int commonVariable = 20;static {System.out.println("Outer.Inner的靜態塊執行了……");}private static int innerStaticVariable = 30;/*** 成員方法*/public void innerShow() {System.out.println("innerVariable:" + innerVariable);System.out.println("內部的commonVariable:" + commonVariable);System.out.println("outerStaticVariable:"+outerStaticVariable);outerStaticMethod();}/*** 靜態方法*/public static void innerStaticShow() {//被調用時會先加載Outer類outerStaticMethod();System.out.println("outerStaticVariable"+outerStaticVariable);}}/*** 外部類的內部如何和內部類打交道*/public static void callInner() {System.out.println(Inner.innerStaticVariable);Inner.innerStaticShow();} }

??2)其他類使用成員內部類

public class Other {public static void main(String[] args) {//訪問靜態內部類的靜態方法,Inner類被加載,此時外部類未被加載,獨立存在,不依賴于外圍類。Outer.Inner.innerStaticShow();//訪問靜態內部類的成員方法Outer.Inner oi = new Outer.Inner();oi.innerShow();} }

??3)運行結果(注意加載順序)

??4)小結——【和成員內部類對比理解(區別異同)】

  • 內部可以包含任意的信息。
  • 靜態內部類的方法只能訪問外部類的static關聯的信息。
  • 利用 外部類.內部類 引用=new 外部類.內部類(); 然后利用引用.成員信息(屬性、方法)調用。
  • 訪問內部類的靜態信息,直接外部類.內部類.靜態信息就可以了。
  • 靜態內部類可以獨立存在,不依賴于其他外圍類。

  • 局部內部類
    ?1)外部類、內部類
/*** 外部類、內部類*/ public class Outer {/*** 屬性和方法*/private int outerVariable = 1;/*** 外部類定義的屬性*/private int commonVariable = 2;/*** 靜態的信息*/private static int outerStaticVariable = 3;/*** 成員外部方法*/public void outerMethod() {System.out.println("我是外部類的outerMethod方法");}/*** 靜態外部方法*/public static void outerStaticMethod() {System.out.println("我是外部類的outerStaticMethod靜態方法");}/*** 程序的入口*/public static void main(String[] args) {Outer outer = new Outer();outer.outerCreatMethod(100);}/*** 成員方法,內部定義局部內部類*/public void outerCreatMethod(int value) {/*** 女性*/boolean sex = false;/*** 局部內部類,類前不能有訪問修飾符*/class Inner {private int innerVariable = 10;private int commonVariable = 20;/*** 局部內部類方法*/public void innerShow() {System.out.println("innerVariable:" + innerVariable);//局部變量System.out.println("是否男性:" + sex);System.out.println("參數value:" + value);//調用外部類的信息System.out.println("outerVariable:" + outerVariable);System.out.println("內部的commonVariable:" + commonVariable);System.out.println("外部的commonVariable:" + Outer.this.commonVariable);System.out.println("outerStaticVariable:" + outerStaticVariable);outerMethod();outerStaticMethod();}}//局部內部類只能在方法內使用Inner inner = new Inner();inner.innerShow();} }

??2)運行結果

??3)小結——【局部內有很多局限,應注意作用域】

  • 類前不能有訪問修飾符。
  • 僅在此方法內使用。
  • 無法創造靜態信息。
  • 可以直接訪問方法內的局部變量和參數(有限制,下面詳談),但是不能更改。
  • 可以隨意的訪問外部類的任何信息。
    ??
    4)局部內部類訪問局部變量的限制

Variable ‘xxx’ is accessed from within inner class, needs to be final or effectively final
它的意思是:變量’xxx’從內部類中訪問,需要final或有效的final

??具體限制如下

??①直接被final修飾的變量。
??②已被賦值且始終未改變的變量(有且僅有賦值一次),引用指向不能改變。JDK8以前(不包括8)只能訪問被final修飾的變量。

boolean sex=false; sex=true;

??就會產生如下錯誤:傳入局部內部類所在方法的參數同理,如果一直不變則可使用,反之則會報錯。


  • 匿名內部類
    1)定義接口
/** * 接口中方法默認為public */ public interface IAnimal{void speak(); }

??2)匿名內部類使用

/** * 外部內、內部類 */ public class Outer {public static IAnimal getInnerInstance(String speak){return new IAnimal(){@Overridepublic void speak(){System.out.println(speak);}};//注意上一行的分號必須有}public static void main(String[] args){//調用的speak()是重寫后的speak方法。Outer.getInnerInstance("小狗汪汪汪!").speak();} }

??3)結果

小狗汪汪汪!

??4)小結——【匿名內部類常常被用來重寫某個或某些方法】

  • 匿名內部類是沒有訪問修飾符的。
  • 使用匿名內部類時,這個new之后的類首先是要存在的,其次我們要重寫new后的類的某個或某些方法。
  • 匿名內部類訪問方法參數時也有和局部內部類同樣的限制。
  • 匿名內部類沒有構造方法。

3、 幾個關鍵字

3.1 this關鍵字

  • this關鍵字代表本類
  • this關鍵字只能在方法內使用,方法外使用是編譯不通過的`
  • this不能用于static方法中
  • this可以作為方法的返回值。
private rolecolor = red;public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);if (isSelected) {setBackground(this.rowcolor);setFont(getFont().deriveFont((float) (getFont().getSize() + 2)));}return this;//返回當前JList對象 }

1)this.屬性名

? this表示當前類,this.屬性名可以給當前類的屬性賦值,可以在本類中除靜態方法外的任何方法(包括構造器、私有方法)中使用。
?static關鍵字的特性

  • 遵循靜態調用
  • static關鍵字不能與this、super關鍵字共用
  • 注意:若本類成員變量與方法內局部變量同名,this.屬性名代表的是什么呢??
    解答:是局部變量,因為Java遵循就近原則,通俗地講,誰離我近,我就代表誰。
class Student{String name;public void hello(){this.name=name;} }

2)this.方法

?this.方法 即調用方法,除了靜態方法中不可使用,本類其他方法包括私有方法均可使用此格式調用其他方法,只是我們通常省略this關鍵字。

class Student{String name;public void hello(){this.name=name;} // this.name=name;this需要在方法內使用public void hi(){this.hello();hello();he();}private void he(){this.name=name;hello();this.he();} }

3)this.()

此格式用于構造器內

  • 比如我們可以在無參構造內調用含參構造,那么這時候就需要在this()傳入參數來實現,
  • 同理要想在含參構造內調用無參構造,只需在構造器代碼第一行寫this()即可,
  • 注意,this()與this(參數列表)不可同時使用!
public Student(){this("name");this.name=name;// this.(); } public Student(String name){ // this();兩個this不能一起使用}

3.2 super關鍵字

  • super理解為:超類的,父類的
  • super可以用來調用:屬性、方法、構造器
  • super的語法是: “super.屬性名/方法”、“super()”

1)super()

  • 創建子類對象的時候,先初始化父類型特征。
  • 在構造方法中使用
  • super(實際參數列表)的作用是:初始化當前對象的父類型特征。
    并不是創建新對象。實際上對象只創建了一個。
  • 在構造方法執行過程中一連串調用了父類的構造方法,父類的構造方法又繼續向下調用它的父類的構造方法。
  • super關鍵字代表的就是當前對象的那部分父類型特征。
public class SuperTest03{public static void main(String[] args){CreditAccount ca1 = new CreditAccount();System.out.println(ca1.getActno() + "," + ca1.getBalance() + "," + ca1.getCredit());CreditAccount ca2 = new CreditAccount("1111", 10000.0, 0.999);System.out.println(ca2.getActno() + "," + ca2.getBalance() + "," + ca2.getCredit());} }// 賬戶 class Account extends Object{// 屬性private String actno;private double balance;// 構造方法public Account(){//默認有以下代碼//super();//this.actno = null;//this.balance = 0.0;}public Account(String actno, double balance){// super();this.actno = actno;this.balance = balance;}// setter and getterpublic void setActno(String actno){this.actno = actno;}public String getActno(){return actno;}public void setBalance(double balance){this.balance = balance;}public double getBalance(){return balance;} }// 信用賬戶 class CreditAccount extends Account{// 屬性:信譽度(誠信值)// 子類特有的一個特征,父類沒有。private double credit;// 構造方法// 分析以下程序是否存在編譯錯誤????public CreditAccount(String actno, double balance, double credit){// 私有的屬性,只能在本類中訪問。/*this.actno = actno;this.balance = balance;*/// 以上兩行代碼在恰當的位置,正好可以使用:super(actno, balance);// 通過子類的構造方法調用父類的構造方法。super(actno, balance);this.credit = credit;}// 提供有參數的構造方法public CreditAccount(){//super();//this.credit = 0.0;}// setter and getter方法public void setCredit(double credit){this.credit = credit;}public double getCredit(){return credit;}}

2)super.屬性名/方法

  • 訪問父類的屬性和方法
  • super.大部分情況下是可以省略的。
  • super.什么時候不能省略呢?
    父中有,子中又有,如果想在子中訪問父的特征,super. 不能省略。
    在 父和子中 有同名的屬性,或者說有相同的方法,
    如果此時想在子類中訪問父中的數據,必須使用super.加以區分。
class Animal{public void move(){System.out.println("Animal move!");} }class Cat extends Animal{// 對move進行重寫。public void move(){System.out.println("Cat move!");}// 單獨編寫一個子類特有的方法。public void yiDong(){this.move();//子類的move//前面不寫默認有this.move();//子類的move// super. 不僅可以訪問屬性,也可以訪問方法。super.move();//父類的move} } ________________________________________________________________ public class Super{public static void main(String[] args){Vip v = new Vip("張三");v.shopping();} } class Customer {String name;public Customer(){}public Customer(String name){super();this.name = name;}public void doSome(){System.out.println(this.name + " do some!");System.out.println(name + " do some!");//錯誤: 找不到符號//System.out.println(super.name + " do some!");//Object類沒有name屬性} } class Vip extends Customer{// 假設子類也有一個同名屬性// java中允許在子類中出現和父類一樣的同名變量/同名屬性。String name; // 實例變量public Vip(){}public Vip(String name){super(name);// this.name = null;}public void shopping(){/*java是怎么來區分子類和父類的同名屬性的?this.name:當前對象的name屬性super.name:當前對象的父類型特征中的name屬性。*/System.out.println(this.name + "正在購物!"); // null 正在購物 子類的nameSystem.out.println(super.name + "正在購物!"); // 張三正在購物 父類的nameSystem.out.println(name + "正在購物!"); //null 正在購物 子類的name} }

3)super關鍵字和this關鍵字重要結論

  • 當一個構造方法第一行:既沒有this()又沒有super()的話,默認會有一個super();
    通過當前子類的構造方法調用父類的無參數構造方法。所以必須保證父類的無參數構造方法是存在的。
  • 在java語言中不管是是new什么對象,最后老祖宗的Object類的無參數構造方法一定會執行。
  • this() 和 super() 不能共存,它們都是只能出現在構造方法第一行。
  • 無論是怎樣折騰,父類的構造方法是一定會執行的。

  • this是引用。this也保存內存地址,this也指向任何對象。
  • super 不是引用。super也不保存內存地址,super也不指向任何對象。
    super 只是代表當前對象內部的那一塊父類型的特征。
public class SuperTest06 {// 實例方法public void doSome(){// SuperTest06@2f92e0f4System.out.println(this);// 輸出“引用”的時候,會自動調用引用的toString()方法。//System.out.println(this.toString());//編譯錯誤: 需要'.'//System.out.println(super);}// this和super不能使用在static靜態方法中。/*public static void doOther(){System.out.println(this);System.out.println(super.xxx);}*/// 靜態方法,主方法public static void main(String[] args){SuperTest06 st = new SuperTest06();st.doSome();} } _______________________________________________________ public class Super{public static void main(String[] args){new C();} }/* class Object{public Object(){ } } *///不寫默認繼承Object class A /*extends Object*/{public A(){//默認有super();不寫默認存在;調用Object構造方法super();System.out.println("1"); //1} }class B extends A{public B(){//默認有super();不寫默認存在;調用Object構造方法super();System.out.println("2"); //2}public B(String name){super();System.out.println("3"); // 3} }class C extends B{public C(){ // 這個是最先調用的。但是最后結束。this("zhangsan");System.out.println("4");//4}public C(String name){this(name, 20);System.out.println("5");//5}public C(String name, int age){super(name);System.out.println("6");//6} }

3.3 instanceof關鍵字

  • instanceof關鍵字,用于判斷某一個類是否繼承自另一個類,即驗證兩個類之間是否屬于父類和子類的關系。
  • instanceof關鍵字判斷后是有返回值的且返回值為boolean類型。
  • 語法格式
boolean result= child instanceof parents public class computer {//我們將computer類作為父類,將它定義為電腦public static void main(String[] args) {//在父類中寫一個主函數,來對子類進行實例化Pad ipad = new Pad();LenovoPad lenovopad = new LenovoPad();//我們來利用instanceof關鍵字判斷繼承關系System.out.println("Pad是否繼承自computer類?"+(ipad instanceof computer));//判斷Pad是否繼承自computer類System.out.println("LenovoPad是否繼承自Pad類?"+(lenovopad instanceof Pad));//判斷LenovoPad是否繼承自Pad類System.out.println("LenovoPad是否繼承自computer類?"+(lenovopad instanceof computer));//判斷LenovoPad是否繼承自computer類/*由第三條判斷可以知道,instanceof關鍵字不僅能夠判斷子類是否繼承父類,還能跨越級別進行判斷* 因此我們也可以舉例判斷這些類繼承Object類(所有類的父類)如下:*/System.out.println("LenovoPad是否繼承自Object類?"+(lenovopad instanceof Object));} }class Pad extends computer{//寫一個子類Pad繼承computer類,定義為平板電腦 }class LenovoPad extends Pad{//再寫一個子類繼承Pad類,定義為聯想平板電腦 }

4、抽象類和接口

?對于面向對象編程來說,抽象是它的一大特征之一。在Java中,可以通過兩種形式來體現OOP的抽象:接口和抽象類。這兩者有太多相似的地方,又有太多不同的地方。

4.1 抽象類

1)抽象方法

  • 是一種特殊的方法:只有聲明,而沒有具體的實現。
  • 聲明格式
abstract void fun();//使用abstract關鍵字定義修飾符

2)抽象類

  • 如果一個類含有抽象方法,則稱這個類為抽象類
  • 抽象類必須在類前用abstract關鍵字修飾。
  • 因為抽象類中含有無具體實現的方法,所以不能用抽象類創建對象。

將抽象類定義為“包含抽象方法的類” ——《JAVA編程思想》

  • 語法格式
[public] abstract class ClassName {abstract void fun();}
  • 從這里可以看出,抽象類就是為了繼承而存在的
  • 實際需求
    對于一個父類,如果它的某個方法在父類中實現出來沒有任何意義,必須根據子類的實際需求來進行不同的實現,那么就可以將這個方法聲明為abstract方法,此時這個類也就成為abstract類了。
  • 包含抽象方法的類稱為抽象類,但并不意味著抽象類中只能有抽象方法,它和普通類一樣,同樣可以擁有成員變量和普通的成員方法。
  • 與普通類的區別
    ?抽象方法必須為public或者protected(因為如果為private,則不能被子類繼承,子類便無法實現該方法),缺省情況下默認為public。
    ?抽象類不能用來創建對象;
    ?如果一個類繼承于一個抽象類,則子類必須實現父類的抽象方法。如果子類沒有實現父類的抽象方法,則必須將子類也定義為abstract類。

4.2 接口

?接口,英文稱作interface,在軟件工程中,接口泛指供別人調用的方法或者函數。從這里,我們可以體會到Java語言設計者的初衷,它是對行為的抽象。

  • 語法格式
[public] interface InterfaceName {}
  • 接口中可以含有 變量和方法
    ? 接口中的變量會被隱式地指定為public static final變量(并且只能是public static final變量,用private修飾會報編譯錯誤)
    ? 方法會被隱式地指定為public abstract方法且只能是public abstract方法(用其他關鍵字,比如private、protected、static、 final等修飾會報編譯錯誤)
    ? 接口中所有的方法不能有具體的實現,也就是說,接口中的方法必須都是抽象方法。
  • 要讓一個類遵循某組特地的接口需要使用implements關鍵字,具體格式如下
class ClassName implements Interface1,Interface2,[....]{}
  • 可以看出
    ?允許一個類實現多個特定的接口【實現多繼承】
    ?如果一個非抽象類遵循了某個接口,就必須實現該接口中的所有抽象方法。
    ?對于遵循某個接口的抽象類,可以不實現該接口中的抽象方法。

4.3 抽象類和接口的區別

1)語法層面

  • 抽象類可以提供成員方法的實現細節,而接口中只能存在public abstract 方法;
  • 抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是public static final類型的;
  • 接口中不能含有靜態代碼塊以及靜態方法,而抽象類可以有靜態代碼塊和靜態方法;
  • 一個類只能繼承一個抽象類,而一個類卻可以實現多個接口。
    ?抽象類用繼承,接口用實現

2)設計層面

  • 抽象類是對一種事物的抽象,即對類抽象,而接口是對行為的抽象。
  • 抽象類是對整個類整體進行抽象,包括屬性、行為,但是接口卻是對類局部(行為)進行抽象。
飛機和鳥是不同類的事物,但是它們都有一個共性,就是都會飛。 那么在設計的時候,可以將飛機設計為一個類Airplane,將鳥設計為一個類Bird, 但是不能將 飛行 這個特性也設計為類,因此它只是一個行為特性,并不是對一類事物的抽象描述。 此時可以將 飛行 設計為一個接口Fly,包含方法fly( ), 然后AirplaneBird分別根據自己的需要實現Fly這個接口。 然后至于有不同種類的飛機,比如戰斗機、民用飛機等直接繼承Airplane即可, 對于鳥也是類似的,不同種類的鳥直接繼承Bird類即可。從這里可以看出, 繼承是一個 "是不是"的關系,而 接口 實現則是 "有沒有"的關系。 如果一個類繼承了某個抽象類,則子類必定是抽象類的種類, 而接口實現則是有沒有、具備不具備的關系,比如鳥是否能飛(或者是否具備飛行這個特點), 能飛行則可以實現這個接口,不能飛行就不實現這個接口。
  • 對比表
    ?接口比抽象類更加嚴格,但接口是實現多繼承的方式。
參數抽象類接口
默認的方法實現它可以有默認的方法實現接口完全是抽象的。它根本不存在方法的實現
實現子類使用extends關鍵字來繼承抽象類。如果子類不是抽象類的話,它需要提供抽象類中所有聲明的方法的實現。子類使用關鍵字implements來實現接口。它需要提供接口中所有聲明的方法的實現
構造器抽象類可以有構造器接口不能有構造器
與正常Java類的區別除了你不能實例化抽象類之外,它和普通Java類沒有任何區別接口是完全不同的類型
訪問修飾符抽象方法可以有public、protected和default這些修飾符接口方法默認修飾符是public。你不可以使用其它修飾符。
main方法抽象方法可以有main方法并且我們可以運行它接口沒有main方法,因此我們不能運行它。
多繼承抽象方法可以繼承一個類和實現多個接口接口只可以繼承一個或多個其它接口
速度它比接口速度要快接口是稍微有點慢的,因為它需要時間去尋找在類中實現的方法。
添加新方法如果你往抽象類中添加新的方法,你可以給它提供默認的實現。因此你不需要改變你現在的代碼。如果你往接口中添加方法,那么你必須改變實現該接口的類。

總結

以上是生活随笔為你收集整理的Java剑开天门(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

999久久久国产精品消防器材 | 午夜熟女插插xx免费视频 | 日韩精品无码一本二本三本色 | av无码不卡在线观看免费 | 高潮毛片无遮挡高清免费视频 | 两性色午夜视频免费播放 | 性生交大片免费看女人按摩摩 | 久久久久久av无码免费看大片 | 最新版天堂资源中文官网 | 爆乳一区二区三区无码 | 无码av中文字幕免费放 | 国产成人一区二区三区在线观看 | 久久无码人妻影院 | av在线亚洲欧洲日产一区二区 | yw尤物av无码国产在线观看 | 天堂久久天堂av色综合 | 欧美激情一区二区三区成人 | 无遮无挡爽爽免费视频 | 欧美熟妇另类久久久久久不卡 | 精品无码av一区二区三区 | 玩弄少妇高潮ⅹxxxyw | v一区无码内射国产 | 欧美精品国产综合久久 | 成人亚洲精品久久久久 | 日本www一道久久久免费榴莲 | 性开放的女人aaa片 | 亚洲熟妇色xxxxx亚洲 | 99视频精品全部免费免费观看 | 国内精品久久毛片一区二区 | ass日本丰满熟妇pics | 性欧美熟妇videofreesex | 婷婷丁香六月激情综合啪 | 国产精品高潮呻吟av久久4虎 | 精品无码国产一区二区三区av | 久久国产精品_国产精品 | 国产精品免费大片 | 老熟妇乱子伦牲交视频 | 国产亚洲精品久久久久久 | 国产午夜亚洲精品不卡下载 | 久久久久久久女国产乱让韩 | 色婷婷综合激情综在线播放 | 麻豆国产人妻欲求不满 | 波多野结衣 黑人 | 日日摸天天摸爽爽狠狠97 | 学生妹亚洲一区二区 | 午夜精品久久久久久久久 | 国产卡一卡二卡三 | 暴力强奷在线播放无码 | 国产精品鲁鲁鲁 | 日韩精品无码一本二本三本色 | 国产真实乱对白精彩久久 | 午夜精品久久久久久久 | 久久久国产一区二区三区 | 黑人巨大精品欧美一区二区 | 岛国片人妻三上悠亚 | 国产亚洲精品久久久久久久久动漫 | 天天摸天天透天天添 | 日本一卡2卡3卡四卡精品网站 | 亚洲欧美国产精品久久 | 日韩人妻无码一区二区三区久久99 | 日本熟妇乱子伦xxxx | 99视频精品全部免费免费观看 | 亚洲精品成人福利网站 | 亚洲一区二区三区播放 | 丝袜人妻一区二区三区 | 国产亚洲精品久久久久久久久动漫 | 一本久久a久久精品vr综合 | 亚洲国产日韩a在线播放 | 成人无码视频在线观看网站 | 日韩欧美中文字幕在线三区 | 国产午夜福利100集发布 | 精品国偷自产在线 | 久久久中文久久久无码 | 中文精品久久久久人妻不卡 | 国产乱子伦视频在线播放 | 成人精品视频一区二区三区尤物 | 国产精品亚洲专区无码不卡 | 麻豆av传媒蜜桃天美传媒 | 老熟妇仑乱视频一区二区 | 性做久久久久久久免费看 | 又色又爽又黄的美女裸体网站 | 真人与拘做受免费视频 | 亚洲成av人综合在线观看 | 日韩精品无码免费一区二区三区 | 一本大道伊人av久久综合 | 色 综合 欧美 亚洲 国产 | 国产激情无码一区二区 | 日韩亚洲欧美精品综合 | 无码乱肉视频免费大全合集 | 国产精品欧美成人 | 中文字幕无码av波多野吉衣 | 永久免费观看美女裸体的网站 | 桃花色综合影院 | 精品无码一区二区三区的天堂 | 国产亚洲精品久久久久久 | 国内精品久久毛片一区二区 | 国产亚洲精品久久久久久国模美 | 美女黄网站人色视频免费国产 | 大肉大捧一进一出视频出来呀 | 亚洲精品国产第一综合99久久 | 亚洲精品国产第一综合99久久 | 日本熟妇人妻xxxxx人hd | 人人澡人摸人人添 | 无码av中文字幕免费放 | 伊人久久大香线蕉av一区二区 | 欧美乱妇无乱码大黄a片 | 中文字幕中文有码在线 | 在线亚洲高清揄拍自拍一品区 | 久久精品女人的天堂av | 狠狠噜狠狠狠狠丁香五月 | 狂野欧美激情性xxxx | 亚洲男女内射在线播放 | 少妇人妻av毛片在线看 | 色欲av亚洲一区无码少妇 | 精品久久久久久亚洲精品 | 黑人粗大猛烈进出高潮视频 | 欧美人与牲动交xxxx | 日韩精品a片一区二区三区妖精 | 97精品人妻一区二区三区香蕉 | 18禁黄网站男男禁片免费观看 | 亚洲欧洲中文日韩av乱码 | 日日摸日日碰夜夜爽av | 久久国产精品_国产精品 | 精品久久久无码人妻字幂 | 四虎国产精品一区二区 | 成人av无码一区二区三区 | 亚洲自偷精品视频自拍 | 国产三级久久久精品麻豆三级 | 在线观看国产午夜福利片 | 无码吃奶揉捏奶头高潮视频 | 亚洲成av人综合在线观看 | 日韩亚洲欧美精品综合 | 夜先锋av资源网站 | 麻豆人妻少妇精品无码专区 | 狠狠躁日日躁夜夜躁2020 | 天天躁日日躁狠狠躁免费麻豆 | 日本熟妇人妻xxxxx人hd | 亚洲 激情 小说 另类 欧美 | 中文字幕无码免费久久9一区9 | 久久久精品欧美一区二区免费 | 欧美亚洲日韩国产人成在线播放 | 国内精品久久久久久中文字幕 | 高清不卡一区二区三区 | 色欲久久久天天天综合网精品 | 永久黄网站色视频免费直播 | 国产成人精品三级麻豆 | 日韩精品乱码av一区二区 | 麻豆国产丝袜白领秘书在线观看 | 99久久久国产精品无码免费 | 特黄特色大片免费播放器图片 | 四十如虎的丰满熟妇啪啪 | 天天爽夜夜爽夜夜爽 | 成人综合网亚洲伊人 | 狠狠躁日日躁夜夜躁2020 | 女人被男人躁得好爽免费视频 | 天堂а√在线地址中文在线 | 久久亚洲a片com人成 | 无码人妻av免费一区二区三区 | 中文字幕 人妻熟女 | 乱码av麻豆丝袜熟女系列 | 中文字幕人妻无码一区二区三区 | a片在线免费观看 | 国产成人av免费观看 | 国产成人无码专区 | 无码人妻久久一区二区三区不卡 | 精品无人区无码乱码毛片国产 | 国产精品国产三级国产专播 | 亚洲中文字幕无码中文字在线 | 日本一区二区更新不卡 | 激情爆乳一区二区三区 | 天天拍夜夜添久久精品大 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲 欧美 激情 小说 另类 | 国产精品久久久久影院嫩草 | 久久精品国产99精品亚洲 | 国产9 9在线 | 中文 | 波多野结衣av一区二区全免费观看 | 久久97精品久久久久久久不卡 | 亚洲日韩一区二区 | 国产成人精品一区二区在线小狼 | 国产精品igao视频网 | 日本护士xxxxhd少妇 | 成人aaa片一区国产精品 | 76少妇精品导航 | 欧美日本精品一区二区三区 | 国产精品99久久精品爆乳 | 国内精品人妻无码久久久影院蜜桃 | 少妇人妻大乳在线视频 | 乱码av麻豆丝袜熟女系列 | 国产香蕉97碰碰久久人人 | 亚洲阿v天堂在线 | 日本护士毛茸茸高潮 | 97人妻精品一区二区三区 | 狠狠cao日日穞夜夜穞av | 一本久久a久久精品亚洲 | 亚洲国产精华液网站w | 国产欧美熟妇另类久久久 | 一个人看的视频www在线 | 性色欲情网站iwww九文堂 | 亚洲欧洲日本综合aⅴ在线 | 亚洲中文字幕无码一久久区 | 国产精品二区一区二区aⅴ污介绍 | 亚洲色欲色欲欲www在线 | 亲嘴扒胸摸屁股激烈网站 | 国产婷婷色一区二区三区在线 | 国産精品久久久久久久 | 国产莉萝无码av在线播放 | 亚洲欧洲无卡二区视頻 | 国产偷国产偷精品高清尤物 | 亚洲精品久久久久久久久久久 | 55夜色66夜色国产精品视频 | 伊人久久大香线焦av综合影院 | 久久久久国色av免费观看性色 | 性史性农村dvd毛片 | 久久精品人人做人人综合试看 | 亚洲va中文字幕无码久久不卡 | 99久久无码一区人妻 | 欧美日本精品一区二区三区 | 人人超人人超碰超国产 | 国产偷抇久久精品a片69 | 国产手机在线αⅴ片无码观看 | 久久国产精品偷任你爽任你 | 亚洲熟妇色xxxxx欧美老妇y | 日韩视频 中文字幕 视频一区 | 免费国产黄网站在线观看 | 人妻少妇精品无码专区二区 | 欧美丰满老熟妇xxxxx性 | 亚洲午夜久久久影院 | 日韩视频 中文字幕 视频一区 | 国产成人人人97超碰超爽8 | 亚洲无人区午夜福利码高清完整版 | 丰满妇女强制高潮18xxxx | 国产乱人无码伦av在线a | 欧美zoozzooz性欧美 | 亚洲欧洲无卡二区视頻 | 国产成人无码a区在线观看视频app | 亚洲精品久久久久久一区二区 | 色欲久久久天天天综合网精品 | 国产成人无码一二三区视频 | 18无码粉嫩小泬无套在线观看 | 日本乱人伦片中文三区 | 亚洲日本va中文字幕 | 亚洲a无码综合a国产av中文 | 国产乱子伦视频在线播放 | 少妇性l交大片欧洲热妇乱xxx | 午夜精品一区二区三区在线观看 | 窝窝午夜理论片影院 | 欧美老妇交乱视频在线观看 | 成 人 免费观看网站 | 性欧美牲交xxxxx视频 | 精品国产一区二区三区四区 | 天天av天天av天天透 | 国产9 9在线 | 中文 | 99麻豆久久久国产精品免费 | 免费国产成人高清在线观看网站 | 天天爽夜夜爽夜夜爽 | 丝袜足控一区二区三区 | 日本熟妇人妻xxxxx人hd | 国产免费无码一区二区视频 | 亚洲人成网站在线播放942 | 亚洲va中文字幕无码久久不卡 | 色一情一乱一伦一视频免费看 | 亚洲精品一区二区三区婷婷月 | 欧美野外疯狂做受xxxx高潮 | 成人精品天堂一区二区三区 | 国产成人综合美国十次 | 男女下面进入的视频免费午夜 | 色偷偷人人澡人人爽人人模 | 日韩精品乱码av一区二区 | 丰满肥臀大屁股熟妇激情视频 | 天堂а√在线地址中文在线 | 狠狠色色综合网站 | 亚洲色偷偷偷综合网 | 精品少妇爆乳无码av无码专区 | 乱人伦人妻中文字幕无码久久网 | 久久无码中文字幕免费影院蜜桃 | 熟女少妇人妻中文字幕 | 我要看www免费看插插视频 | 国产成人av免费观看 | 蜜桃视频韩日免费播放 | 国产麻豆精品一区二区三区v视界 | 国产激情精品一区二区三区 | 久久久久久av无码免费看大片 | 成人欧美一区二区三区黑人免费 | 久久五月精品中文字幕 | 精品无码国产自产拍在线观看蜜 | 人妻尝试又大又粗久久 | 日本xxxx色视频在线观看免费 | 男人和女人高潮免费网站 | 国产亚洲视频中文字幕97精品 | 中文字幕无码热在线视频 | 日韩人妻无码一区二区三区久久99 | 无码av中文字幕免费放 | 天堂久久天堂av色综合 | 久久人人爽人人人人片 | 狠狠色噜噜狠狠狠狠7777米奇 | 少妇愉情理伦片bd | 在线а√天堂中文官网 | 国产美女极度色诱视频www | 国产一精品一av一免费 | 亚洲综合在线一区二区三区 | 国产精品久久久久无码av色戒 | 日日碰狠狠躁久久躁蜜桃 | 狠狠色噜噜狠狠狠狠7777米奇 | 宝宝好涨水快流出来免费视频 | 久热国产vs视频在线观看 | 黑人巨大精品欧美一区二区 | 亚洲大尺度无码无码专区 | 男女下面进入的视频免费午夜 | 亚洲精品一区二区三区四区五区 | 又粗又大又硬毛片免费看 | 日本护士xxxxhd少妇 | 在线观看免费人成视频 | 荫蒂添的好舒服视频囗交 | ass日本丰满熟妇pics | 精品国产青草久久久久福利 | 国产精品怡红院永久免费 | 人人澡人人妻人人爽人人蜜桃 | 国产精品理论片在线观看 | 丰满少妇人妻久久久久久 | 婷婷六月久久综合丁香 | 亲嘴扒胸摸屁股激烈网站 | 中文字幕无线码免费人妻 | 亚洲综合在线一区二区三区 | 福利一区二区三区视频在线观看 | 少妇无码一区二区二三区 | 麻豆精品国产精华精华液好用吗 | 欧洲欧美人成视频在线 | 日产精品99久久久久久 | 内射后入在线观看一区 | 性欧美videos高清精品 | 综合激情五月综合激情五月激情1 | 女人和拘做爰正片视频 | 成人精品视频一区二区 | 香港三级日本三级妇三级 | 国内精品一区二区三区不卡 | 免费国产黄网站在线观看 | 国产亲子乱弄免费视频 | 男人扒开女人内裤强吻桶进去 | 一本色道久久综合亚洲精品不卡 | av无码不卡在线观看免费 | 免费无码av一区二区 | 亚洲自偷精品视频自拍 | 一本无码人妻在中文字幕免费 | 国产性生大片免费观看性 | 精品无人国产偷自产在线 | 日韩成人一区二区三区在线观看 | 日本熟妇乱子伦xxxx | 激情五月综合色婷婷一区二区 | 久久zyz资源站无码中文动漫 | 国产亚洲欧美日韩亚洲中文色 | 亚洲欧美综合区丁香五月小说 | 欧美精品无码一区二区三区 | 日韩无码专区 | 97无码免费人妻超级碰碰夜夜 | 国产精华av午夜在线观看 | 一本久道久久综合婷婷五月 | 牲欲强的熟妇农村老妇女 | 在线观看免费人成视频 | 九九热爱视频精品 | 草草网站影院白丝内射 | 日本熟妇浓毛 | 永久免费观看美女裸体的网站 | 成人一在线视频日韩国产 | 亚洲成a人片在线观看无码3d | 玩弄少妇高潮ⅹxxxyw | 大肉大捧一进一出视频出来呀 | 国产色xx群视频射精 | 99精品视频在线观看免费 | 精品亚洲成av人在线观看 | 国产乱人偷精品人妻a片 | 国产亚洲人成在线播放 | 日韩精品无码一区二区中文字幕 | 无码av最新清无码专区吞精 | 亚洲爆乳无码专区 | 狠狠噜狠狠狠狠丁香五月 | 国产午夜亚洲精品不卡 | 综合人妻久久一区二区精品 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲人成影院在线无码按摩店 | 天堂а√在线中文在线 | 东京热一精品无码av | 午夜精品久久久久久久久 | 麻豆精产国品 | 熟妇人妻中文av无码 | 东京无码熟妇人妻av在线网址 | 东京热无码av男人的天堂 | 人妻少妇精品视频专区 | 欧美变态另类xxxx | 中文字幕av日韩精品一区二区 | 日韩av激情在线观看 | 牲欲强的熟妇农村老妇女视频 | 国产精品久久久久9999小说 | 国内老熟妇对白xxxxhd | 久久午夜无码鲁丝片秋霞 | 撕开奶罩揉吮奶头视频 | 乱人伦人妻中文字幕无码 | 国产精华av午夜在线观看 | 欧美黑人乱大交 | 亚洲综合色区中文字幕 | 亚洲а∨天堂久久精品2021 | 夜先锋av资源网站 | 丰满少妇高潮惨叫视频 | 亚洲精品一区二区三区四区五区 | 国产成人一区二区三区在线观看 | 国产精品久久久久久久9999 | 久久久久久a亚洲欧洲av冫 | 大色综合色综合网站 | 在线a亚洲视频播放在线观看 | 精品人妻中文字幕有码在线 | 2020久久香蕉国产线看观看 | 5858s亚洲色大成网站www | 亚洲色欲色欲天天天www | 免费乱码人妻系列无码专区 | 国产熟妇另类久久久久 | 久热国产vs视频在线观看 | 久久亚洲日韩精品一区二区三区 | 国产成人无码午夜视频在线观看 | 亚洲熟妇色xxxxx欧美老妇y | 久久午夜夜伦鲁鲁片无码免费 | 国产特级毛片aaaaaa高潮流水 | 精品 日韩 国产 欧美 视频 | 中文毛片无遮挡高清免费 | 纯爱无遮挡h肉动漫在线播放 | 久久久久se色偷偷亚洲精品av | 精品亚洲韩国一区二区三区 | 色一情一乱一伦一区二区三欧美 | 欧美熟妇另类久久久久久多毛 | 色综合久久久无码网中文 | 日韩av无码一区二区三区 | 久在线观看福利视频 | 人人爽人人澡人人人妻 | 色诱久久久久综合网ywww | 国产成人精品久久亚洲高清不卡 | 两性色午夜视频免费播放 | 极品嫩模高潮叫床 | 亚洲另类伦春色综合小说 | 欧美精品国产综合久久 | 国产区女主播在线观看 | 欧美xxxx黑人又粗又长 | 国产免费无码一区二区视频 | 亚洲色欲色欲天天天www | 亚洲一区av无码专区在线观看 | 在线视频网站www色 | 精品人妻中文字幕有码在线 | 中文字幕 亚洲精品 第1页 | 日本精品人妻无码免费大全 | 色综合久久中文娱乐网 | 午夜精品久久久内射近拍高清 | 国产一区二区三区影院 | 国产三级精品三级男人的天堂 | 麻豆国产人妻欲求不满 | 久久精品人人做人人综合 | 国产在线精品一区二区高清不卡 | 伊在人天堂亚洲香蕉精品区 | 熟妇女人妻丰满少妇中文字幕 | 亚洲成av人影院在线观看 | 东京热无码av男人的天堂 | 色综合久久久无码中文字幕 | 久久亚洲精品中文字幕无男同 | 亚洲国产av精品一区二区蜜芽 | 国内丰满熟女出轨videos | 国产色xx群视频射精 | 伊在人天堂亚洲香蕉精品区 | 少妇被粗大的猛进出69影院 | 成人免费视频一区二区 | 狠狠色噜噜狠狠狠狠7777米奇 | 中文字幕av日韩精品一区二区 | 日韩精品一区二区av在线 | 99久久精品国产一区二区蜜芽 | 精品 日韩 国产 欧美 视频 | 国产免费观看黄av片 | 又粗又大又硬又长又爽 | 久久精品无码一区二区三区 | 精品久久久久久人妻无码中文字幕 | 好男人社区资源 | 成人无码精品1区2区3区免费看 | 乱人伦人妻中文字幕无码久久网 | 久久久久av无码免费网 | 成人三级无码视频在线观看 | 欧美日本免费一区二区三区 | 亚洲国产欧美国产综合一区 | 成人女人看片免费视频放人 | 小鲜肉自慰网站xnxx | 无码人妻精品一区二区三区下载 | 在线播放免费人成毛片乱码 | 欧美高清在线精品一区 | 国产亚洲精品久久久久久大师 | 国产精品人妻一区二区三区四 | 欧美日韩色另类综合 | 日日天干夜夜狠狠爱 | 国产熟妇高潮叫床视频播放 | 久久综合香蕉国产蜜臀av | 妺妺窝人体色www在线小说 | 老子影院午夜伦不卡 | 亚洲 a v无 码免 费 成 人 a v | 野外少妇愉情中文字幕 | 免费无码的av片在线观看 | 日韩人妻少妇一区二区三区 | 超碰97人人射妻 | 麻豆蜜桃av蜜臀av色欲av | 亚洲综合无码一区二区三区 | 国产成人一区二区三区别 | 日韩精品久久久肉伦网站 | 亚洲精品鲁一鲁一区二区三区 | 成 人 网 站国产免费观看 | 亚洲熟妇色xxxxx亚洲 | 又大又紧又粉嫩18p少妇 | 荫蒂被男人添的好舒服爽免费视频 | 丰满护士巨好爽好大乳 | 东京无码熟妇人妻av在线网址 | 亚洲中文无码av永久不收费 | 成人无码视频免费播放 | 18禁止看的免费污网站 | 午夜时刻免费入口 | 久久精品人人做人人综合 | 99久久久无码国产精品免费 | 午夜精品久久久久久久 | 欧美三级a做爰在线观看 | 亚洲成a人一区二区三区 | 1000部啪啪未满十八勿入下载 | 欧美xxxxx精品 | 国产亚洲精品久久久久久大师 | 日韩精品成人一区二区三区 | 国产成人午夜福利在线播放 | 亚洲精品无码国产 | 日本一区二区更新不卡 | 亚洲 a v无 码免 费 成 人 a v | 天堂在线观看www | 亚洲精品久久久久久一区二区 | 丰满少妇高潮惨叫视频 | 秋霞成人午夜鲁丝一区二区三区 | 午夜无码人妻av大片色欲 | 人妻无码αv中文字幕久久琪琪布 | 中文字幕av无码一区二区三区电影 | 亚洲精品综合一区二区三区在线 | 中文亚洲成a人片在线观看 | 日韩av激情在线观看 | 又湿又紧又大又爽a视频国产 | 国产精品自产拍在线观看 | 久久久av男人的天堂 | 久久久亚洲欧洲日产国码αv | 在教室伦流澡到高潮hnp视频 | 亚洲精品成人av在线 | 熟妇人妻无乱码中文字幕 | 色婷婷综合中文久久一本 | 国产区女主播在线观看 | 人妻少妇精品无码专区动漫 | 国产成人无码av片在线观看不卡 | 色综合久久久无码中文字幕 | 日韩欧美中文字幕在线三区 | 国产精品久久国产精品99 | 天天躁夜夜躁狠狠是什么心态 | 成人欧美一区二区三区黑人免费 | 久久精品丝袜高跟鞋 | 中文字幕乱码中文乱码51精品 | 久久无码中文字幕免费影院蜜桃 | 永久免费精品精品永久-夜色 | 麻豆国产97在线 | 欧洲 | 成人精品一区二区三区中文字幕 | 免费观看激色视频网站 | 亚洲国产欧美国产综合一区 | 最新国产乱人伦偷精品免费网站 | 亚洲精品久久久久久一区二区 | 久久久无码中文字幕久... | 国产乱人伦偷精品视频 | 激情综合激情五月俺也去 | 亚洲性无码av中文字幕 | 丰满人妻精品国产99aⅴ | 撕开奶罩揉吮奶头视频 | 自拍偷自拍亚洲精品被多人伦好爽 | 日日摸天天摸爽爽狠狠97 | 国产片av国语在线观看 | 亚洲中文字幕成人无码 | 国产三级精品三级男人的天堂 | 精品国产福利一区二区 | 夜先锋av资源网站 | 精品成人av一区二区三区 | 1000部夫妻午夜免费 | 亚洲成a人片在线观看无码3d | 国产真人无遮挡作爱免费视频 | 久久精品成人欧美大片 | 正在播放老肥熟妇露脸 | 两性色午夜视频免费播放 | 全黄性性激高免费视频 | 无码精品国产va在线观看dvd | 啦啦啦www在线观看免费视频 | 大地资源中文第3页 | 亚洲精品久久久久久一区二区 | 国产成人一区二区三区在线观看 | 亚洲日韩一区二区 | 久久久久久久久蜜桃 | 沈阳熟女露脸对白视频 | 一本久道高清无码视频 | 狠狠色色综合网站 | 无码一区二区三区在线 | 国产激情无码一区二区 | 好爽又高潮了毛片免费下载 | 国内精品人妻无码久久久影院 | 夜夜夜高潮夜夜爽夜夜爰爰 | 久久99国产综合精品 | 国产绳艺sm调教室论坛 | 午夜熟女插插xx免费视频 | 日韩精品无码一本二本三本色 | 国产高清不卡无码视频 | 亚洲色www成人永久网址 | 亚洲精品中文字幕久久久久 | 国产成人久久精品流白浆 | 久久人人爽人人爽人人片ⅴ | 99精品久久毛片a片 | 人妻少妇精品无码专区二区 | 少妇无套内谢久久久久 | 日韩欧美群交p片內射中文 | 亚洲国产精品毛片av不卡在线 | 精品国产乱码久久久久乱码 | 黑人巨大精品欧美黑寡妇 | 水蜜桃色314在线观看 | 国产精品理论片在线观看 | 欧美真人作爱免费视频 | 无码人妻丰满熟妇区五十路百度 | 国产一区二区不卡老阿姨 | 欧美黑人性暴力猛交喷水 | 成人无码视频在线观看网站 | 熟女少妇在线视频播放 | 日本乱人伦片中文三区 | 亚洲人成无码网www | 内射爽无广熟女亚洲 | 国产情侣作爱视频免费观看 | 国产精品久久久久久久9999 | 欧美人与善在线com | 久青草影院在线观看国产 | 网友自拍区视频精品 | 久久久久久久久蜜桃 | 中文字幕无码人妻少妇免费 | 日日麻批免费40分钟无码 | 亚洲欧美日韩国产精品一区二区 | 麻豆精品国产精华精华液好用吗 | 老熟妇仑乱视频一区二区 | 国模大胆一区二区三区 | 国产乱人伦av在线无码 | 中文字幕无码av波多野吉衣 | av在线亚洲欧洲日产一区二区 | 亚洲一区av无码专区在线观看 | 成年女人永久免费看片 | 55夜色66夜色国产精品视频 | 国产熟妇高潮叫床视频播放 | 欧美 日韩 亚洲 在线 | 国产精品久久久久久久9999 | 天天拍夜夜添久久精品 | 中文字幕无码免费久久99 | 99re在线播放 | 亚洲va中文字幕无码久久不卡 | 97夜夜澡人人爽人人喊中国片 | 亚洲精品一区二区三区在线观看 | 亚洲日本一区二区三区在线 | 老太婆性杂交欧美肥老太 | 精品成在人线av无码免费看 | 久久综合香蕉国产蜜臀av | 成人免费视频视频在线观看 免费 | 久精品国产欧美亚洲色aⅴ大片 | 日韩无码专区 | 国产精品第一区揄拍无码 | 色欲人妻aaaaaaa无码 | 好爽又高潮了毛片免费下载 | 日产精品99久久久久久 | 国产无套内射久久久国产 | 欧美怡红院免费全部视频 | 婷婷六月久久综合丁香 | 国产艳妇av在线观看果冻传媒 | 999久久久国产精品消防器材 | 性生交大片免费看l | 亚洲呦女专区 | 日本大乳高潮视频在线观看 | 日本精品高清一区二区 | 国产区女主播在线观看 | 无码av岛国片在线播放 | 女人被男人躁得好爽免费视频 | 午夜丰满少妇性开放视频 | 老子影院午夜精品无码 | 亚洲精品久久久久avwww潮水 | 久久天天躁狠狠躁夜夜免费观看 | 久久精品国产精品国产精品污 | 久久99精品国产麻豆蜜芽 | 精品久久久中文字幕人妻 | 久久精品视频在线看15 | 东京热无码av男人的天堂 | 亚洲欧美日韩成人高清在线一区 | 在教室伦流澡到高潮hnp视频 | 国产精品久久国产三级国 | 日日天干夜夜狠狠爱 | 在线欧美精品一区二区三区 | 亚洲欧洲无卡二区视頻 | 乱中年女人伦av三区 | 麻豆av传媒蜜桃天美传媒 | 少妇一晚三次一区二区三区 | 青春草在线视频免费观看 | 亚洲理论电影在线观看 | av人摸人人人澡人人超碰下载 | 久久综合给久久狠狠97色 | 国产精品无码mv在线观看 | 亚洲熟妇色xxxxx欧美老妇y | 亚洲va欧美va天堂v国产综合 | 色噜噜亚洲男人的天堂 | 色诱久久久久综合网ywww | 强奷人妻日本中文字幕 | 男女猛烈xx00免费视频试看 | 人妻少妇精品久久 | 久久精品国产大片免费观看 | 亚洲国产欧美日韩精品一区二区三区 | 欧美第一黄网免费网站 | 国产一区二区三区四区五区加勒比 | 亚洲成av人片天堂网无码】 | 免费乱码人妻系列无码专区 | 亚洲自偷精品视频自拍 | 强辱丰满人妻hd中文字幕 | 国产精品久久久久久亚洲影视内衣 | 亚洲另类伦春色综合小说 | 日日碰狠狠躁久久躁蜜桃 | 久久精品中文闷骚内射 | 青草视频在线播放 | 99久久精品日本一区二区免费 | 无码av岛国片在线播放 | 日日噜噜噜噜夜夜爽亚洲精品 | 麻豆md0077饥渴少妇 | 动漫av一区二区在线观看 | 成人免费视频视频在线观看 免费 | 国产精品无码一区二区桃花视频 | 亚欧洲精品在线视频免费观看 | а√天堂www在线天堂小说 | 成 人 免费观看网站 | 国产精品毛片一区二区 | 一二三四在线观看免费视频 | 初尝人妻少妇中文字幕 | 国产极品美女高潮无套在线观看 | 九一九色国产 | 东京热男人av天堂 | 又大又黄又粗又爽的免费视频 | 国产精品亚洲lv粉色 | 毛片内射-百度 | 亚洲 欧美 激情 小说 另类 | 亚洲gv猛男gv无码男同 | 又粗又大又硬又长又爽 | 男女爱爱好爽视频免费看 | 久在线观看福利视频 | 精品 日韩 国产 欧美 视频 | 在线 国产 欧美 亚洲 天堂 | 亚洲一区av无码专区在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 国产又爽又猛又粗的视频a片 | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美兽交xxxx×视频 | 国产亚洲精品久久久久久久久动漫 | 国产精品久久精品三级 | 国产sm调教视频在线观看 | 国产精品第一国产精品 | 国产成人亚洲综合无码 | 亚洲一区二区三区四区 | 国产精品高潮呻吟av久久 | 国产在线aaa片一区二区99 | 欧美日韩亚洲国产精品 | 成 人影片 免费观看 | 久久国产劲爆∧v内射 | 日本精品少妇一区二区三区 | 亚洲国产精品美女久久久久 | 日本大乳高潮视频在线观看 | 欧洲熟妇精品视频 | 99久久精品日本一区二区免费 | 国产做国产爱免费视频 | 好屌草这里只有精品 | 一区二区三区高清视频一 | 国内精品人妻无码久久久影院 | 精品一区二区不卡无码av | 精品熟女少妇av免费观看 | 日本护士xxxxhd少妇 | 精品久久久久久人妻无码中文字幕 | 国产精品亚洲а∨无码播放麻豆 | 亚洲精品一区国产 | 色诱久久久久综合网ywww | 亚洲a无码综合a国产av中文 | 日日摸天天摸爽爽狠狠97 | 久久99国产综合精品 | 国产精品亚洲一区二区三区喷水 | 久久久国产一区二区三区 | 久久97精品久久久久久久不卡 | 麻豆精品国产精华精华液好用吗 | 国产精品毛片一区二区 | 男女性色大片免费网站 | 久久亚洲日韩精品一区二区三区 | 成人无码视频在线观看网站 | 人妻中文无码久热丝袜 | 国产人妻精品一区二区三区 | 亚欧洲精品在线视频免费观看 | 无码乱肉视频免费大全合集 | 国产农村乱对白刺激视频 | 午夜成人1000部免费视频 | 秋霞成人午夜鲁丝一区二区三区 | 国产高清不卡无码视频 | 亚洲精品无码人妻无码 | 久青草影院在线观看国产 | 欧美 日韩 亚洲 在线 | 精品国产一区av天美传媒 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产一区二区三区日韩精品 | 无码纯肉视频在线观看 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国精品人妻无码一区二区三区蜜柚 | 日本护士毛茸茸高潮 | 免费无码av一区二区 | 欧美一区二区三区 | 女人和拘做爰正片视频 | 强伦人妻一区二区三区视频18 | 久久久中文久久久无码 | 激情国产av做激情国产爱 | 欧美人与禽zoz0性伦交 | 婷婷五月综合激情中文字幕 | 国产在线aaa片一区二区99 | 亚洲爆乳精品无码一区二区三区 | 国内精品九九久久久精品 | 国产人妻大战黑人第1集 | 99久久精品日本一区二区免费 | 久久人妻内射无码一区三区 | 亚洲 a v无 码免 费 成 人 a v | 久久久国产一区二区三区 | 无套内谢老熟女 | 亚洲色欲久久久综合网东京热 | 亚洲精品午夜无码电影网 | 国产精品视频免费播放 | 高清无码午夜福利视频 | 国产无遮挡又黄又爽免费视频 | 亚洲一区二区三区在线观看网站 | 九九在线中文字幕无码 | 麻豆人妻少妇精品无码专区 | 天堂а√在线中文在线 | av人摸人人人澡人人超碰下载 | 精品国产一区二区三区四区 | 国产免费无码一区二区视频 | 精品一区二区三区波多野结衣 | 亚洲一区二区三区无码久久 | 人人妻人人澡人人爽精品欧美 | 无人区乱码一区二区三区 | 欧美丰满熟妇xxxx性ppx人交 | 国产成人无码av一区二区 | 国产综合久久久久鬼色 | 日韩 欧美 动漫 国产 制服 | 99国产精品白浆在线观看免费 | 樱花草在线社区www | 国产精品va在线播放 | 国产艳妇av在线观看果冻传媒 | 无码精品国产va在线观看dvd | 无码av免费一区二区三区试看 | 国产三级精品三级男人的天堂 | 国产极品视觉盛宴 | 国产精品丝袜黑色高跟鞋 | 国产亚洲美女精品久久久2020 | 国产精品理论片在线观看 | 大肉大捧一进一出好爽视频 | 色一情一乱一伦一区二区三欧美 | 日本一卡2卡3卡四卡精品网站 | 无码人妻黑人中文字幕 | 狠狠色丁香久久婷婷综合五月 | 97夜夜澡人人爽人人喊中国片 | 国产真实伦对白全集 | 成熟女人特级毛片www免费 | 国产深夜福利视频在线 | 狂野欧美激情性xxxx | 国精品人妻无码一区二区三区蜜柚 | 久久久久久亚洲精品a片成人 | 蜜桃av抽搐高潮一区二区 | 国产国语老龄妇女a片 | 亚洲欧洲无卡二区视頻 | 国产精品办公室沙发 | 少妇邻居内射在线 | 强辱丰满人妻hd中文字幕 | 国产国产精品人在线视 | 国产成人一区二区三区别 | 黑人巨大精品欧美黑寡妇 | 亚洲国产欧美国产综合一区 | 大肉大捧一进一出好爽视频 | 最近中文2019字幕第二页 | 狠狠亚洲超碰狼人久久 | 久久伊人色av天堂九九小黄鸭 | 麻豆国产丝袜白领秘书在线观看 | 日日摸日日碰夜夜爽av | 最新国产麻豆aⅴ精品无码 | 色婷婷香蕉在线一区二区 | 日本爽爽爽爽爽爽在线观看免 | 学生妹亚洲一区二区 | 97久久精品无码一区二区 | 蜜桃av抽搐高潮一区二区 | 国产性生大片免费观看性 | 欧洲精品码一区二区三区免费看 | 精品欧美一区二区三区久久久 | 熟妇激情内射com | 纯爱无遮挡h肉动漫在线播放 | 亚洲理论电影在线观看 | 国产sm调教视频在线观看 | 波多野42部无码喷潮在线 | 日韩少妇内射免费播放 | 99er热精品视频 | 亚洲自偷自拍另类第1页 | 一本久久a久久精品亚洲 | 亚洲精品午夜国产va久久成人 | 精品人妻av区 | 亚洲综合色区中文字幕 | 国产成人无码午夜视频在线观看 | av人摸人人人澡人人超碰下载 | 国产成人综合美国十次 | 亚洲国产一区二区三区在线观看 | 亚洲狠狠色丁香婷婷综合 | 中文精品无码中文字幕无码专区 | 成人一在线视频日韩国产 | 亚洲成a人片在线观看无码 | 国产人妻人伦精品1国产丝袜 | 999久久久国产精品消防器材 | 97精品国产97久久久久久免费 | 国产色xx群视频射精 | 国产精品久久精品三级 | 精品日本一区二区三区在线观看 | 99精品久久毛片a片 | 国产婷婷色一区二区三区在线 | 免费观看激色视频网站 | 丰满人妻精品国产99aⅴ | 中文字幕av无码一区二区三区电影 | 亚洲人成网站在线播放942 | 97夜夜澡人人双人人人喊 | 丝袜 中出 制服 人妻 美腿 | 亚洲aⅴ无码成人网站国产app | 300部国产真实乱 | 亚洲精品国偷拍自产在线麻豆 | 亚洲精品国产品国语在线观看 | 国产免费久久精品国产传媒 | 免费无码肉片在线观看 | 377p欧洲日本亚洲大胆 | 国内精品人妻无码久久久影院蜜桃 | 成年美女黄网站色大免费视频 | 人人超人人超碰超国产 | 动漫av网站免费观看 | 99久久精品无码一区二区毛片 | 国产av无码专区亚洲a∨毛片 | 日本xxxx色视频在线观看免费 | 无码人妻丰满熟妇区毛片18 | 亚洲色欲久久久综合网东京热 | 久久午夜夜伦鲁鲁片无码免费 | 人人妻人人藻人人爽欧美一区 | 极品嫩模高潮叫床 | 5858s亚洲色大成网站www | 99久久人妻精品免费二区 | 青春草在线视频免费观看 | 亚洲国产欧美国产综合一区 | 亚洲人成网站免费播放 | 在线 国产 欧美 亚洲 天堂 | 欧美xxxx黑人又粗又长 | 2019nv天堂香蕉在线观看 | 国产精品国产自线拍免费软件 | 亚洲国产综合无码一区 | 99精品视频在线观看免费 | 中文字幕 亚洲精品 第1页 | 一区二区三区乱码在线 | 欧洲 | 亚洲国产欧美日韩精品一区二区三区 | 狠狠色欧美亚洲狠狠色www | 又大又硬又黄的免费视频 | 久久久精品欧美一区二区免费 | 国产热a欧美热a在线视频 | 无码帝国www无码专区色综合 | 激情五月综合色婷婷一区二区 | 久久久久久久女国产乱让韩 | 在线a亚洲视频播放在线观看 | 国产精品a成v人在线播放 | 少妇厨房愉情理9仑片视频 | 久久 国产 尿 小便 嘘嘘 | 欧美三级不卡在线观看 | 亚洲精品国产品国语在线观看 | 丰腴饱满的极品熟妇 | 在线观看免费人成视频 | 欧美日本精品一区二区三区 | aⅴ亚洲 日韩 色 图网站 播放 | aa片在线观看视频在线播放 | 久久国产劲爆∧v内射 | 乱人伦人妻中文字幕无码久久网 | 澳门永久av免费网站 | 大色综合色综合网站 | 国产亚洲精品久久久久久久 | 天天爽夜夜爽夜夜爽 | 午夜成人1000部免费视频 | 国产精品无码永久免费888 | 正在播放老肥熟妇露脸 | 国产九九九九九九九a片 | 丰满肥臀大屁股熟妇激情视频 | a国产一区二区免费入口 | 亚洲精品久久久久久久久久久 | 小鲜肉自慰网站xnxx | 久久综合香蕉国产蜜臀av | 在线播放无码字幕亚洲 | 十八禁真人啪啪免费网站 | 国产午夜福利100集发布 | 亚洲精品久久久久中文第一幕 | 国产综合色产在线精品 | 久久精品成人欧美大片 | 男人的天堂2018无码 | 日日摸日日碰夜夜爽av | 亚洲va中文字幕无码久久不卡 | 蜜臀av无码人妻精品 | 久久zyz资源站无码中文动漫 | 国产农村妇女高潮大叫 | 天海翼激烈高潮到腰振不止 | 无套内谢的新婚少妇国语播放 | 国产内射老熟女aaaa | 欧美三级不卡在线观看 | 2020久久香蕉国产线看观看 | 国产欧美亚洲精品a | 大屁股大乳丰满人妻 | 丰满妇女强制高潮18xxxx | 国产成人无码a区在线观看视频app | 最近中文2019字幕第二页 | 亚洲国产精华液网站w | 亚洲精品国产精品乱码视色 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲一区二区三区在线观看网站 | 久久精品国产大片免费观看 | 日日天日日夜日日摸 | 亚洲日本va中文字幕 | 亚洲中文字幕成人无码 | 日日碰狠狠丁香久燥 | 成人亚洲精品久久久久 | 亚洲色偷偷男人的天堂 | 2019nv天堂香蕉在线观看 | 国产精品鲁鲁鲁 | 亚洲国产精品一区二区第一页 | 四虎国产精品免费久久 | 国产熟女一区二区三区四区五区 | 精品人人妻人人澡人人爽人人 | 青青青爽视频在线观看 | 人妻aⅴ无码一区二区三区 | 国产精品va在线播放 | 日韩精品成人一区二区三区 | 麻豆精品国产精华精华液好用吗 | 波多野42部无码喷潮在线 | 国产激情无码一区二区app | 中国大陆精品视频xxxx | 97夜夜澡人人双人人人喊 | 欧美熟妇另类久久久久久多毛 | 成年美女黄网站色大免费视频 | 精品久久久久久人妻无码中文字幕 | 欧美午夜特黄aaaaaa片 | 免费无码午夜福利片69 | 漂亮人妻洗澡被公强 日日躁 | 欧美老妇交乱视频在线观看 | 亚洲の无码国产の无码影院 | 久久zyz资源站无码中文动漫 | 国产午夜无码精品免费看 | 2020久久香蕉国产线看观看 | 欧美成人家庭影院 | 噜噜噜亚洲色成人网站 | 伊人久久大香线蕉亚洲 | 一二三四在线观看免费视频 | 久久综合狠狠综合久久综合88 | 一本久久a久久精品vr综合 | 国产一区二区三区精品视频 | 亚洲国产成人a精品不卡在线 | 又紧又大又爽精品一区二区 | 巨爆乳无码视频在线观看 | 在线精品国产一区二区三区 | 激情亚洲一区国产精品 | 丁香花在线影院观看在线播放 | 精品国产麻豆免费人成网站 | 免费人成网站视频在线观看 | 国产精品久久久久影院嫩草 | 真人与拘做受免费视频 | 久久精品99久久香蕉国产色戒 | 玩弄中年熟妇正在播放 | 人妻少妇精品无码专区二区 | 人妻aⅴ无码一区二区三区 | 日韩在线不卡免费视频一区 | 2020久久超碰国产精品最新 | 国产av剧情md精品麻豆 | 国内揄拍国内精品少妇国语 | 中文字幕日产无线码一区 | 人妻无码久久精品人妻 | 99久久亚洲精品无码毛片 | 亚洲男人av天堂午夜在 | 亚拍精品一区二区三区探花 | 搡女人真爽免费视频大全 | 曰韩无码二三区中文字幕 | 国产精品人人妻人人爽 | 亚洲一区av无码专区在线观看 | 无码人妻少妇伦在线电影 | 少妇被粗大的猛进出69影院 | 久久人妻内射无码一区三区 | 熟女体下毛毛黑森林 | 国模大胆一区二区三区 | 丰满人妻被黑人猛烈进入 | 亚洲中文字幕在线无码一区二区 | 亚洲第一无码av无码专区 | 亚洲综合无码久久精品综合 | 久久久久成人片免费观看蜜芽 | 日韩无套无码精品 | 无码av最新清无码专区吞精 | 亚洲人成人无码网www国产 | 久久这里只有精品视频9 | 99久久无码一区人妻 | 亚洲人成网站色7799 | 国产精品国产自线拍免费软件 | 国产乱人偷精品人妻a片 | 久久人人97超碰a片精品 | 亚洲色www成人永久网址 | 美女扒开屁股让男人桶 | 国产精华av午夜在线观看 | 亚洲乱亚洲乱妇50p | 日本又色又爽又黄的a片18禁 | 人人爽人人澡人人高潮 | 亚洲大尺度无码无码专区 | 亚洲精品国偷拍自产在线观看蜜桃 | 骚片av蜜桃精品一区 | 亚洲精品综合一区二区三区在线 | 天天摸天天透天天添 | 免费无码av一区二区 | 狠狠躁日日躁夜夜躁2020 | 久久久久se色偷偷亚洲精品av | 人妻互换免费中文字幕 | 精品日本一区二区三区在线观看 | 亚洲春色在线视频 | 欧美一区二区三区视频在线观看 | 亚洲综合在线一区二区三区 | 在线看片无码永久免费视频 | 露脸叫床粗话东北少妇 | 无遮挡国产高潮视频免费观看 | 中文无码成人免费视频在线观看 | 成 人 免费观看网站 | 99国产欧美久久久精品 | 日韩精品成人一区二区三区 | 久久久久se色偷偷亚洲精品av | 国产va免费精品观看 | 精品人妻人人做人人爽夜夜爽 | www一区二区www免费 | 久久婷婷五月综合色国产香蕉 | 曰本女人与公拘交酡免费视频 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产偷抇久久精品a片69 | 日韩精品成人一区二区三区 | 人妻熟女一区 | 国产亚洲人成在线播放 | 国产人妖乱国产精品人妖 | 日本一卡2卡3卡四卡精品网站 | 国产偷国产偷精品高清尤物 | 国产精品久久久久久久9999 | 成人免费视频视频在线观看 免费 | 欧洲vodafone精品性 | 丰满少妇人妻久久久久久 | 自拍偷自拍亚洲精品被多人伦好爽 | 久久久精品国产sm最大网站 | 亚洲另类伦春色综合小说 | 青青草原综合久久大伊人精品 | 亚洲国产精品久久久久久 | 日本成熟视频免费视频 | 国产人妖乱国产精品人妖 | 日韩欧美群交p片內射中文 | 国产亚洲日韩欧美另类第八页 | 全球成人中文在线 | 欧美亚洲日韩国产人成在线播放 | 国产超级va在线观看视频 | 国产精品国产三级国产专播 | 一区二区传媒有限公司 | 真人与拘做受免费视频一 | 熟妇女人妻丰满少妇中文字幕 | 成人欧美一区二区三区黑人免费 | 中文毛片无遮挡高清免费 | av人摸人人人澡人人超碰下载 | 中文字幕无线码 | 免费国产黄网站在线观看 | 欧美性猛交内射兽交老熟妇 | 伊人色综合久久天天小片 | 亚洲精品一区二区三区大桥未久 | 水蜜桃亚洲一二三四在线 | 日本一卡2卡3卡四卡精品网站 | 亚洲一区二区三区无码久久 | 久久综合给合久久狠狠狠97色 | 大地资源中文第3页 | 少妇久久久久久人妻无码 | 纯爱无遮挡h肉动漫在线播放 | 18禁止看的免费污网站 | 亚洲 欧美 激情 小说 另类 | 又大又黄又粗又爽的免费视频 | 亚洲精品久久久久avwww潮水 | 内射老妇bbwx0c0ck | 天天爽夜夜爽夜夜爽 | 久久久国产精品无码免费专区 | 丰满岳乱妇在线观看中字无码 | 国产激情精品一区二区三区 | 国产真实伦对白全集 | 中文字幕av日韩精品一区二区 | 亚洲狠狠婷婷综合久久 | 久久久无码中文字幕久... | 天干天干啦夜天干天2017 | 超碰97人人做人人爱少妇 | 国产电影无码午夜在线播放 | 国产97色在线 | 免 | 午夜精品一区二区三区在线观看 | 成人动漫在线观看 | 国产午夜亚洲精品不卡下载 | 国产精品久久久午夜夜伦鲁鲁 | 国产精品无码一区二区桃花视频 | 熟女少妇在线视频播放 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产亚洲精品久久久久久久久动漫 | 国产偷国产偷精品高清尤物 | 欧美自拍另类欧美综合图片区 | 中文字幕无码人妻少妇免费 | 丝袜美腿亚洲一区二区 | 东京热男人av天堂 | 久久久久成人片免费观看蜜芽 | 国产精品亚洲综合色区韩国 | 亚洲欧美综合区丁香五月小说 | 人妻插b视频一区二区三区 | 亚洲成av人片天堂网无码】 | 亚洲日韩一区二区三区 | 香港三级日本三级妇三级 | 好屌草这里只有精品 | 亚洲成av人在线观看网址 | 亚洲啪av永久无码精品放毛片 | 亚洲成av人片天堂网无码】 | 亚洲一区av无码专区在线观看 | 精品国产一区av天美传媒 | 国内老熟妇对白xxxxhd | 国产精品.xx视频.xxtv | 麻豆成人精品国产免费 | 亚洲乱码日产精品bd | aⅴ在线视频男人的天堂 | 中文字幕+乱码+中文字幕一区 | 丰满少妇高潮惨叫视频 | 亚洲小说图区综合在线 | 亚洲欧美日韩综合久久久 | 亚洲成av人片天堂网无码】 | 窝窝午夜理论片影院 | 青青久在线视频免费观看 | 久久99精品久久久久久 | 国产精品无码一区二区三区不卡 | 国产超碰人人爽人人做人人添 | 色五月丁香五月综合五月 | 亚洲娇小与黑人巨大交 | 人妻人人添人妻人人爱 | 国产超级va在线观看视频 | 欧美成人午夜精品久久久 | 久久久久久国产精品无码下载 | 天天拍夜夜添久久精品 | 国产精品内射视频免费 | 久久国产劲爆∧v内射 | 亚洲毛片av日韩av无码 | 亚洲国产精品无码久久久久高潮 | 欧美熟妇另类久久久久久不卡 | 国产精品无码成人午夜电影 | 国产亚洲视频中文字幕97精品 | 精品无码国产自产拍在线观看蜜 | 亚洲狠狠婷婷综合久久 | 欧美一区二区三区视频在线观看 | 久久久精品国产sm最大网站 | 四十如虎的丰满熟妇啪啪 | 久久久久国色av免费观看性色 | av无码不卡在线观看免费 | 300部国产真实乱 | 亚洲男女内射在线播放 | 国产成人一区二区三区在线观看 | 我要看www免费看插插视频 | 日韩av无码一区二区三区不卡 | 无码人中文字幕 | 久久亚洲国产成人精品性色 | 日本大乳高潮视频在线观看 | 女人和拘做爰正片视频 | 少妇无码一区二区二三区 | 国产亚洲美女精品久久久2020 | 亚洲精品久久久久久一区二区 | 熟女体下毛毛黑森林 | 久久99精品国产麻豆蜜芽 | 综合激情五月综合激情五月激情1 | 久久无码专区国产精品s | 一二三四社区在线中文视频 | 久久精品人妻少妇一区二区三区 | 国产精品无码一区二区桃花视频 | 国产麻豆精品精东影业av网站 | 无码人妻久久一区二区三区不卡 | 亚洲成色在线综合网站 | 99久久精品无码一区二区毛片 | 人妻少妇被猛烈进入中文字幕 | 国产精品久久国产精品99 | 欧美日韩一区二区综合 | 久热国产vs视频在线观看 | 人人妻人人澡人人爽欧美精品 | 精品人妻中文字幕有码在线 | 国产真实伦对白全集 | 久久久婷婷五月亚洲97号色 | 宝宝好涨水快流出来免费视频 | 无码国产色欲xxxxx视频 | 男女下面进入的视频免费午夜 | 亚洲理论电影在线观看 | 国内揄拍国内精品人妻 | 东京无码熟妇人妻av在线网址 | 全球成人中文在线 | 大肉大捧一进一出视频出来呀 | 暴力强奷在线播放无码 | 欧美精品无码一区二区三区 | 亚洲国产精品一区二区第一页 | 婷婷综合久久中文字幕蜜桃三电影 | 成人三级无码视频在线观看 | 国产电影无码午夜在线播放 | 亚洲欧洲无卡二区视頻 | 日韩视频 中文字幕 视频一区 | 蜜臀av无码人妻精品 | 欧美成人高清在线播放 | 国产av人人夜夜澡人人爽麻豆 | 久久久久久久久蜜桃 | 高潮毛片无遮挡高清免费 | av香港经典三级级 在线 | 人人妻人人澡人人爽欧美一区九九 | 国产熟妇另类久久久久 | 无码吃奶揉捏奶头高潮视频 | 国产成人无码av一区二区 | 久久午夜无码鲁丝片秋霞 | 亚洲毛片av日韩av无码 | 国产精品久久久久久亚洲毛片 | 国产人妻精品一区二区三区 | 亚洲色在线无码国产精品不卡 | 亚洲日本一区二区三区在线 | 精品国精品国产自在久国产87 | 日本大香伊一区二区三区 | 乱人伦中文视频在线观看 | 国产精品99爱免费视频 | 妺妺窝人体色www婷婷 | 精品乱码久久久久久久 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲精品一区二区三区在线观看 | 亚洲欧美国产精品专区久久 | 黑人玩弄人妻中文在线 | 亚洲精品一区三区三区在线观看 | 欧美精品无码一区二区三区 | 人妻互换免费中文字幕 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲欧美国产精品专区久久 | 国产成人无码av片在线观看不卡 | 日本丰满护士爆乳xxxx | 白嫩日本少妇做爰 | 国产一精品一av一免费 | 中文字幕无线码免费人妻 | 亚洲综合另类小说色区 | 亚洲成熟女人毛毛耸耸多 | 日本护士xxxxhd少妇 | 高清无码午夜福利视频 | 国内丰满熟女出轨videos | 久久国语露脸国产精品电影 | 午夜无码人妻av大片色欲 | 成人毛片一区二区 | 精品久久久中文字幕人妻 | 亚洲中文字幕乱码av波多ji | 国産精品久久久久久久 | 沈阳熟女露脸对白视频 | 强开小婷嫩苞又嫩又紧视频 | 女人被男人躁得好爽免费视频 | 精品厕所偷拍各类美女tp嘘嘘 | 欧美 日韩 人妻 高清 中文 | 亚洲精品成a人在线观看 | 亚洲欧美日韩成人高清在线一区 | 中文精品久久久久人妻不卡 | 亚洲热妇无码av在线播放 | 久久无码专区国产精品s | 亚洲一区av无码专区在线观看 | 亚洲人成影院在线观看 | 亚洲国产精品久久人人爱 | 亚洲成av人片在线观看无码不卡 | 成人精品视频一区二区 | 亚洲中文字幕无码一久久区 | 亚洲欧洲无卡二区视頻 | 无码人妻久久一区二区三区不卡 | 欧美人与动性行为视频 | 国内精品久久久久久中文字幕 | 少妇人妻偷人精品无码视频 | 亚洲精品午夜无码电影网 | 精品国产精品久久一区免费式 | 欧美日韩综合一区二区三区 | 久久久精品国产sm最大网站 | 久久综合香蕉国产蜜臀av | 国精产品一区二区三区 | 嫩b人妻精品一区二区三区 | 一个人免费观看的www视频 | 欧美国产日韩亚洲中文 | 久久国产精品萌白酱免费 | 国产小呦泬泬99精品 | 黑人巨大精品欧美黑寡妇 | 亚洲欧洲日本综合aⅴ在线 | 日本一卡二卡不卡视频查询 | 欧美色就是色 | 色婷婷欧美在线播放内射 | 2019nv天堂香蕉在线观看 | 国内综合精品午夜久久资源 | 国产高清不卡无码视频 | 精品久久综合1区2区3区激情 | av小次郎收藏 | 国产亚洲tv在线观看 | 精品国产aⅴ无码一区二区 | 欧美熟妇另类久久久久久多毛 | 婷婷丁香五月天综合东京热 | 国产精品va在线播放 | 男女性色大片免费网站 | 丰腴饱满的极品熟妇 | 99久久精品国产一区二区蜜芽 | 在线播放免费人成毛片乱码 | 伊人久久大香线焦av综合影院 | 国产av一区二区精品久久凹凸 | 欧美亚洲国产一区二区三区 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 精品无码国产一区二区三区av | 无码午夜成人1000部免费视频 | 男女下面进入的视频免费午夜 | 99在线 | 亚洲 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 免费观看激色视频网站 | 国产三级精品三级男人的天堂 | 国产特级毛片aaaaaa高潮流水 | 少妇高潮一区二区三区99 | 成人三级无码视频在线观看 | 国产69精品久久久久app下载 | 亚洲另类伦春色综合小说 | 人人妻人人澡人人爽欧美一区 | 亚洲无人区午夜福利码高清完整版 | 亚洲色欲色欲天天天www | 日日天干夜夜狠狠爱 | 亚洲aⅴ无码成人网站国产app | 人妻aⅴ无码一区二区三区 | 女人被男人躁得好爽免费视频 | 国产精品久久久久影院嫩草 | 骚片av蜜桃精品一区 | 成人免费视频在线观看 | 无码人妻精品一区二区三区不卡 | 内射巨臀欧美在线视频 | 无码免费一区二区三区 | 久久综合网欧美色妞网 | 熟女少妇人妻中文字幕 | 免费国产成人高清在线观看网站 | 免费观看的无遮挡av | 午夜精品久久久久久久久 | 久久国产精品精品国产色婷婷 | 国产精品爱久久久久久久 | 爆乳一区二区三区无码 | 一区二区三区高清视频一 | 免费中文字幕日韩欧美 | 澳门永久av免费网站 | 亚洲 a v无 码免 费 成 人 a v | 一本色道婷婷久久欧美 | 国产成人无码区免费内射一片色欲 | 久久亚洲精品中文字幕无男同 | 久久亚洲a片com人成 | 青草青草久热国产精品 | 啦啦啦www在线观看免费视频 | 男人扒开女人内裤强吻桶进去 | 国产精华av午夜在线观看 | av无码电影一区二区三区 | 日本成熟视频免费视频 | 少妇性荡欲午夜性开放视频剧场 | 色偷偷人人澡人人爽人人模 | 国产精品高潮呻吟av久久 | 精品无码国产一区二区三区av | 久久精品人人做人人综合试看 | 国产特级毛片aaaaaa高潮流水 | 成在人线av无码免观看麻豆 | 国产乱人偷精品人妻a片 | 极品嫩模高潮叫床 | 国产精品久久精品三级 | 久久精品女人的天堂av | 国产亲子乱弄免费视频 | 中文无码精品a∨在线观看不卡 | 麻豆国产人妻欲求不满 | 国产农村妇女高潮大叫 | 日本大香伊一区二区三区 | 久久综合久久自在自线精品自 | 桃花色综合影院 | 成熟妇人a片免费看网站 | 日韩精品无码免费一区二区三区 | 欧美国产日韩亚洲中文 | 国产精品亚洲一区二区三区喷水 | 亚洲人成网站免费播放 | 亚洲а∨天堂久久精品2021 | 无码国模国产在线观看 | 日本乱偷人妻中文字幕 | 国产精品久久久午夜夜伦鲁鲁 | 欧美午夜特黄aaaaaa片 | 久久午夜夜伦鲁鲁片无码免费 | 免费男性肉肉影院 | 4hu四虎永久在线观看 | 疯狂三人交性欧美 | 老司机亚洲精品影院 | 久久久久久久久蜜桃 | 精品无码国产一区二区三区av | 狠狠色色综合网站 | 亚洲成av人片天堂网无码】 | 男女超爽视频免费播放 | 在线观看欧美一区二区三区 | 国产欧美精品一区二区三区 | 亚洲人成影院在线观看 | 亚洲欧洲中文日韩av乱码 | 中国女人内谢69xxxx | 国内精品久久毛片一区二区 | 久久人人爽人人爽人人片av高清 | 久久视频在线观看精品 | 色综合视频一区二区三区 | 无码成人精品区在线观看 | 国产精品无码久久av | 中文字幕无线码免费人妻 | 无码一区二区三区在线观看 | 欧美自拍另类欧美综合图片区 | 国产av一区二区精品久久凹凸 | 男女作爱免费网站 | 1000部啪啪未满十八勿入下载 | 久久久www成人免费毛片 | 国产suv精品一区二区五 | a片在线免费观看 | 国产国语老龄妇女a片 | 久久午夜无码鲁丝片秋霞 | 亚洲 另类 在线 欧美 制服 | 成人欧美一区二区三区 | 中文字幕乱码亚洲无线三区 | 2020最新国产自产精品 | 久久99国产综合精品 | 国产亚洲美女精品久久久2020 | 高清不卡一区二区三区 | 76少妇精品导航 | 亚洲精品久久久久久久久久久 | 日韩av无码一区二区三区不卡 | 亚洲熟悉妇女xxx妇女av | 激情爆乳一区二区三区 | 亚洲第一网站男人都懂 | 性生交大片免费看l | 老子影院午夜精品无码 | 国产成人精品一区二区在线小狼 | 久久精品国产99久久6动漫 | 久久久精品456亚洲影院 | 波多野结衣 黑人 | 美女黄网站人色视频免费国产 | 无码纯肉视频在线观看 | 波多野42部无码喷潮在线 | 国产精品久久久久7777 | 亚洲精品无码国产 | 日本一卡2卡3卡四卡精品网站 | 最新版天堂资源中文官网 | 少女韩国电视剧在线观看完整 | 国产精品-区区久久久狼 | 秋霞特色aa大片 | 在线欧美精品一区二区三区 | 亚洲中文字幕无码中字 | 麻豆蜜桃av蜜臀av色欲av | 东京一本一道一二三区 | 国产成人精品一区二区在线小狼 | 色婷婷香蕉在线一区二区 | 国语自产偷拍精品视频偷 | 大乳丰满人妻中文字幕日本 | 久久精品一区二区三区四区 | 一个人看的视频www在线 | 亚洲成熟女人毛毛耸耸多 | 波多野结衣乳巨码无在线观看 | 亚洲精品成人av在线 | 中文久久乱码一区二区 | 波多野结衣一区二区三区av免费 | 初尝人妻少妇中文字幕 | 国产一区二区三区四区五区加勒比 | 一本色道久久综合亚洲精品不卡 | 日韩亚洲欧美精品综合 | 乱码av麻豆丝袜熟女系列 | 国产在线精品一区二区高清不卡 | 日韩精品无码免费一区二区三区 | 午夜不卡av免费 一本久久a久久精品vr综合 | www一区二区www免费 | 亚洲国产精品久久人人爱 | 欧美xxxxx精品 | 久久99热只有频精品8 | 亚洲男女内射在线播放 | 中文字幕 亚洲精品 第1页 | 国内综合精品午夜久久资源 | 亚洲狠狠婷婷综合久久 | 亚洲自偷精品视频自拍 | 中文字幕人妻丝袜二区 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产成人人人97超碰超爽8 | 日本一区二区更新不卡 | 纯爱无遮挡h肉动漫在线播放 | 99久久无码一区人妻 | 少女韩国电视剧在线观看完整 | 5858s亚洲色大成网站www | 少妇人妻偷人精品无码视频 | 无码中文字幕色专区 | 亚洲国产精品成人久久蜜臀 | 久久国产自偷自偷免费一区调 | 人妻体内射精一区二区三四 | 丰满诱人的人妻3 | 高清无码午夜福利视频 | 99精品无人区乱码1区2区3区 | 人妻人人添人妻人人爱 | 成人亚洲精品久久久久软件 | 亚洲一区二区三区无码久久 | 国产精品人妻一区二区三区四 | 国产精品资源一区二区 | 亚洲欧美精品aaaaaa片 | 欧美国产亚洲日韩在线二区 | 国产又爽又猛又粗的视频a片 | 综合人妻久久一区二区精品 | 狠狠cao日日穞夜夜穞av | 久久久久免费看成人影片 | 亚洲国精产品一二二线 | 国产精品久久久久久亚洲影视内衣 | 成人精品视频一区二区三区尤物 | 无码av最新清无码专区吞精 | 中文字幕乱码人妻无码久久 | 国产成人精品久久亚洲高清不卡 | 亚洲啪av永久无码精品放毛片 | 国产亚洲欧美日韩亚洲中文色 | 亚洲色欲色欲欲www在线 | 丝袜美腿亚洲一区二区 | 日本免费一区二区三区最新 | 日韩欧美成人免费观看 | 国产欧美熟妇另类久久久 | 性啪啪chinese东北女人 | 激情内射亚州一区二区三区爱妻 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 成人av无码一区二区三区 | 99视频精品全部免费免费观看 | 亚洲成a人片在线观看日本 | 亚洲熟熟妇xxxx | 国产一区二区不卡老阿姨 | 国产午夜视频在线观看 | 国产精品丝袜黑色高跟鞋 | 国产一区二区三区影院 | 午夜肉伦伦影院 | 无码国产色欲xxxxx视频 | 丰满少妇女裸体bbw | 国产午夜无码精品免费看 | 精品亚洲成av人在线观看 | 精品久久久无码人妻字幂 | 国产情侣作爱视频免费观看 | 欧美肥老太牲交大战 | 野狼第一精品社区 | 又大又紧又粉嫩18p少妇 | 在线播放免费人成毛片乱码 | 久久亚洲中文字幕精品一区 | 亚洲精品成a人在线观看 | 麻豆md0077饥渴少妇 | 色综合久久久无码网中文 | 国产熟妇另类久久久久 | 最新国产乱人伦偷精品免费网站 | 精品午夜福利在线观看 | 丰腴饱满的极品熟妇 | 亚洲精品一区二区三区大桥未久 | 日韩av激情在线观看 | 色综合天天综合狠狠爱 | 大色综合色综合网站 | 日韩人妻无码中文字幕视频 | 成人精品视频一区二区 | 强奷人妻日本中文字幕 | 亚洲精品午夜无码电影网 | 国产av人人夜夜澡人人爽麻豆 | 亚洲精品成人福利网站 | 日本熟妇人妻xxxxx人hd | 久久久久亚洲精品中文字幕 | 久久综合给合久久狠狠狠97色 | 麻豆精品国产精华精华液好用吗 | 国产精品美女久久久久av爽李琼 | 欧美日韩一区二区综合 | 亚洲大尺度无码无码专区 | 欧美午夜特黄aaaaaa片 | 天天躁日日躁狠狠躁免费麻豆 | 欧洲熟妇色 欧美 | 久久综合色之久久综合 | 亚洲日本va中文字幕 | 特黄特色大片免费播放器图片 | 十八禁视频网站在线观看 | 欧美丰满熟妇xxxx性ppx人交 | 中文精品久久久久人妻不卡 | 久久婷婷五月综合色国产香蕉 | 丰腴饱满的极品熟妇 | 噜噜噜亚洲色成人网站 | 欧美一区二区三区 | 精品乱码久久久久久久 |