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

Java語言——反射、枚舉以及lambda表達式

開發 前端
在日常的第三方應用開發過程中,經常會遇到某個類的某個成員變量、方法或是屬性是私有的或是只對系統應用開放,這時候就可以利用 Java的反射機制 來獲取所需的私有成員或是方法 。

一.反射

1.1 反射的基本情況

定義:Java在 運行 狀態時,對于任意一個類,都能知道這個類的所有屬性和方法。

這種動態獲取信息以及動態調用對象方法的功能稱為java語言的反射(reflection)機制

用途:

1.在日常的第三方應用開發過程中,經常會遇到某個類的某個成員變量、方法或是屬性是私有的或是只對系統應用開放,這時候就可以利用 Java的反射機制 來獲取所需的私有成員或是方法 。

2. 反射最重要的用途就是開發各種通用框架,比如在spring中,我們將所有的類Bean交給spring容器管理,無論是XML配置Bean還是注解配置,當我們從容器中獲取Bean來依賴注入時,容器會讀取配置,而配置中給的就是類的信息,spring根據這些信息,需要創建那些Bean,spring就動態的創建這些類。

1.2 反射中最重要的類

在講解這些類之前,我們需要先構建一個類,方便進行反射的操作:

class Student{
//私有屬性name
    private String name = "tq02";
//公有屬性age
    public int age = 22;
//不帶參數的構造方法
    public Student(){
    System.out.println("Student()");
    }
    private Student(String name,int age) {
    this.name = name;
    this.age = age;
    System.out.println("Student(String,name)");
    }
    
private void eat(){
    System.out.println("i am eat");
}
public void sleep(){
    System.out.println("i am pig");
}
private void function(String str) {
    System.out.println(str);
} 
 
@Override
public String toString() {
    return "Student{" +
    "name='" + name + '\'' +
    ", age=" + age +
    '}';
}
}

注:1.反射私有的構造方法、屬性、方法時,Java具有安全性,因此我們需要使用.setAccessible("boolean");

2.使用Class類、Field、Constructor類時,需要處理異常。

1.2.1 Class類

在反射之前,第一步就是先拿到當前需要反射的類的Class對象,然后通過Class對象的核心方法,達到反射的目的,即:在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象, 都能夠調用它的任意方法和屬性,既然能拿到,我們就可以修改部分類型信息。

使用Class獲取 類 的三種方法:

第一種:使用Class.forName("類的全路徑名“”); //靜態方法

第二種:使用.class方法。

第三種:使用類對象的getClass()方法;

注:無論哪種方法獲取,其實獲取的都是同一個類。

代碼實例 :

public class TestDemo {
public static void main(String[] args) {
//1.通過getClass獲取Class對象
    Student s1 = new Student();
    Class c1 = s1.getClass();
 
//2.直接通過 類名.class 的方式得到,該方法最為安全可靠,程序性能更高
//這說明任何一個類都有一個隱含的靜態成員變量 class
    Class c2 = Student.class;
 
//3、通過 Class 對象的 forName() 靜態方法來獲取,用的最多,
//但可能拋出 ClassNotFoundException 異常
    Class c3 = null;
    try {
//注意這里是類的全路徑,如果有包需要加包的路徑
    c3 = Class.forName("Student");
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } 
 
//一個類在 JVM 中只會有一個 Class 實例,即我們對上面獲取的
//c1,c2,c3進行 equals 比較,發現都是true
System.out.println(c1.equals(c2));
System.out.println(c1.equals(c3));
System.out.println(c2.equals(c3));
}

1.2.2 Field類

作用:可對類中屬性進行操作

public static void reflectPrivateField() {
  try {
            Class<?> classStudent = Class.forName("Student");
                                                     //獲取name成員變量
            Field field = classStudent.getDeclaredField("name");
            field.setAccessible(true);
            Student student= (Student)classStudent.newInstance();
//修改成員變量,將student中的name值改成"小明";
            field.set(student, "小明");
            String name = (String) field.get(student);
            System.out.println("反射私有屬性修改了name:" + name);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
}

1.2.3 Constructor類

作用:對構造方法進行操作

代碼實例:

//反射構造方法
    public static void reflect() {
       try {
           Class<?> c1 = Class.forName("Student");
           Constructor<?> c2= c1.getDeclaredConstructor(String.class,int.class);
           c2.setAccessible(true);
 
           c2.newInstance("湯琦",22);
       }catch(Exception ex)
       {
           ex.printStackTrace();
       }
    }

1.2.4 Method類

作用:對類中方法進行操作

實例代碼:

public static void reflectPrivateMethod() {
        try {
            Class<?> c1 = Class.forName("Student");
            Method m1=c1.getDeclaredMethod("function", String.class);
            m1.setAccessible(true);
 
            Student fw=(Student) c1.newInstance();
            m1.invoke(fw,"給私有的function函數傳的參數");
 
        }catch(Exception ex)
        {
            ex.printStackTrace();
        }
    }

1.3 反射優缺點

優點: 1. 對于任意一個類,都能夠知道這個類的所有屬性和方法;對 于任意一個對象,都能夠調用它的任意一個方法

2. 增加程序的靈活性和擴展性,降低耦合性,提高自適應能力

3. 反射已經運用在了很多流行框架如:Struts、Hibernate、Spring 等等。

缺點: 1. 使用反射會有效率問題。會導致程序效率降低。

2. 反射技術繞過了源代碼的技術,因而會帶來維護問題。反射代碼比相應的直接代碼更復雜

二.枚舉

2.1 概念

在Java中,可以說是一個集合,從下標0開始的集合。注:枚舉是jdk1.5以后引用的。

使用格式: public enum 類名{

常量1、常量2、常量3;

}

就是將class換成了enum

代碼實例:

public enum TestEnum {
    RED,BLACK,GREEN,WHITE;//相當于集合,第一個常量下標值為0,第二個常量下標值為1......
    public static void main(String[] args) {
         TestEnum testEnum2 = TestEnum.BLACK;
         switch (testEnum2) {
         case RED: System.out.println("red"); break;
         case BLACK:System.out.println("black");break;
         case WHITE:System.out.println("WHITE");break;
         case GREEN:System.out.println("black");break;
         default:break;
}
}

2.2 枚舉(enum)類方法

2.3 枚舉的構造

枚舉的構造方法默認是私有的。

public enum TestEnum {
    RED("red",1),BLACK("black",2),WHITE("white",3),GREEN("green",4);
    private String name;
    private int key;
/**
* 1、當枚舉對象有參數后,需要提供相應的構造函數
* 2、枚舉的構造函數默認是私有的 這個一定要記住
* @param name
* @param key
*/
    private TestEnum (String name,int key) {
        this.name = name;
        this.key = key;
    }
    public static TestEnum getEnumKey (int key) {
        for (TestEnum t: TestEnum.values()) {
        if(t.key == key) {
        return t;
        }
    } 
    return null;
}
    public static void main(String[] args) {
        System.out.println(getEnumKey(2));
    }
}

注:自己寫的枚舉類,默認繼承與enum這個類的。

三.Lambda表達式

3.1 Lambda介紹

Lambda本質是匿名函數,基于數學中的λ演算得名,也可稱為閉包(Closure)

語法格式:(parameters)->expression 或 (parameters)->{ statements;}

parameters:類似方法中的形參列表,這里的參數是函數式接口里的參數。這里的參數類型可以明確的聲明也可不聲明而由JVM隱含的推斷。另外當只有一個推斷類型時可以省略掉圓括號。

->:可理解為“被用于”的意思

方法體:可以是表達式也可以代碼塊,是函數式接口里方法的實現。代碼塊可返回一個值或者什么都不反回,這里的代碼塊塊等同于方法的方法體。如果是表達式,也可以返回一個值或者什么都不反回。

常見表達式:

// 1. 不需要參數,返回值為 2
() -> 2
// 2. 接收一個參數(數字類型),返回其2倍的值
x -> 2 * x
// 3. 接受2個參數(數字),并返回他們的和
(x, y) -> x + y
// 4. 接收2個int型整數,返回他們的乘積
(int x, int y) -> x * y
// 5. 接受一個 string 對象,并在控制臺打印,不返回任何值(看起來像是返回void)
(String s) -> System.out.print(s)

3.2 函數式接口

定義:該接口有且只有一個 抽象方法

注:如果某接口含有@FunctionalInterface 注解,那么編譯器就會按照函數式接口的定義來要求該接口,這樣如果有兩個抽象方法,程序編譯就會報錯的。

代碼實例:

@FunctionalInterface
interface NoParameterNoReturn {
	//注意:只能有一個方法
	void test();
}

3.3 使用lambda表達式

先建立幾個接口:

//無返回值無參數
@FunctionalInterface
interface NoParameterNoReturn {
void test();
} 
//無返回值一個參數
@FunctionalInterface
interface OneParameterNoReturn {
void test(int a);
} 
//無返回值多個參數
@FunctionalInterface
interface MoreParameterNoReturn {
void test(int a,int b);
} 
//有返回值無參數
@FunctionalInterface
interface NoParameterReturn {
int test();
} 
//有返回值一個參數
@FunctionalInterface
interface OneParameterReturn {
int test(int a);
} 
//有返回值多參數
@FunctionalInterface
interface MoreParameterReturn {
int test(int a,int b);
}

Lambda就是匿名內部類的簡化,實際上是創建了一個類,實現了接口,重寫了接口的方法 。

3.3.1 不使用Lambda表達式調用

public class TestDemo {
public static void main(String[] args) {
//接口使用匿名內部類
    NoParameterNoReturn noParameterNoReturn = new NoParameterNoReturn(){
    @Override
    public void test() {
    System.out.println("hello");
    }
    };
noParameterNoReturn.test();
}

3.3.2 使用Lambda表達式

public class TestDemo {
  public static void main(String[] args) {
    NoParameterNoReturn noParameterNoReturn = ()->{
    System.out.println("無參數無返回值");
};
noParameterNoReturn.test();
    OneParameterNoReturn oneParameterNoReturn = (int a)->{
    System.out.println("一個參數無返回值:"+ a);
};
oneParameterNoReturn.test(10);
 
    MoreParameterNoReturn moreParameterNoReturn = (int a,int b)->{
    System.out.println("多個參數無返回值:"+a+" "+b);
};
moreParameterNoReturn.test(20,30);
 
    NoParameterReturn noParameterReturn = ()->{
    System.out.println("有返回值無參數!");
    return 40;
};
//接收函數的返回值
int ret = noParameterReturn.test();
System.out.println(ret);
    OneParameterReturn oneParameterReturn = (int a)->{
    System.out.println("有返回值有一個參數!");
    return a;
};
ret = oneParameterReturn.test(50);
System.out.println(ret);
 
    MoreParameterReturn moreParameterReturn = (int a,int b)->{
    System.out.println("有返回值多個參數!");
    return a+b;
};
ret = moreParameterReturn.test(60,70);
System.out.println(ret);
}
}

3.3.3 二者區別

代碼實例:

1. 參數類型可以省略,如果需要省略,每個參數的類型都要省略。

2. 參數的小括號里面只有一個參數,那么小括號可以省略

3. 如果方法體當中只有一句代碼,那么大括號可以省略

4. 如果方法體中只有一條語句,且是return語句,那么大括號可以省略,且去掉return關鍵字。

3.4 變量捕獲

變量捕獲,在匿名內部類中也存在,而類似匿名內部類的Lambda表達式,自然而然也存在。

3.4.1 匿名內部類的變量捕獲

外,已經定義了a的值,因此匿名內部類直接捕獲了外部的a變量。

3.4.2 Lambda變量捕獲

如上圖,使用直接捕獲了外部的a變量。

注:無論是匿名內部類的變量捕獲還是Lambda變量捕獲,方法體里,不可修改外部變量的值。

總結

反射、枚舉以及Lambda表達式很少使用,算是偏僻的知識點,因此不要求掌握,只要求熟悉。

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

2012-06-26 10:03:58

JavaJava 8lambda

2009-09-11 09:48:27

Linq Lambda

2022-12-05 09:31:51

接口lambda表達式

2009-09-15 15:18:00

Linq Lambda

2009-09-09 13:01:33

LINQ Lambda

2013-01-05 02:19:50

JavaLambda表達式JVM

2013-04-07 15:44:26

Java8Lambda

2009-09-17 09:44:54

Linq Lambda

2009-09-17 10:40:22

Linq Lambda

2009-08-27 09:44:59

C# Lambda表達

2009-09-15 17:30:00

Linq Lambda

2013-04-07 10:04:03

Java8Lambda

2024-03-25 13:46:12

C#Lambda編程

2009-09-17 09:09:50

Lambda表達式Linq查詢

2009-08-31 17:11:37

Lambda表達式

2009-08-26 16:17:23

C# Lambda表達

2009-08-27 09:57:50

C# Lambda表達

2009-09-09 17:14:17

Linq lambda

2013-04-10 10:58:19

LambdaC#

2009-08-10 09:41:07

.NET Lambda
點贊
收藏

51CTO技術棧公眾號

久久久久久久久黄色| 17c国产在线| 欧美精品久久久久久久久久丰满| 先锋影音久久久| 尤物精品国产第一福利三区 | 变态另类丨国产精品| 欧美成人黑人| 日韩毛片一二三区| 国产精品免费在线播放| 无码人妻av一区二区三区波多野| 999成人网| 亚洲成人aaa| 亚洲欧美自拍另类日韩| av日韩国产| 中文字幕亚洲一区二区av在线 | 国产精品一线天粉嫩av| 欧美一级二级三级蜜桃| 国产一区亚洲二区三区| 污视频免费在线观看| 国产午夜精品理论片a级大结局| 91免费精品国偷自产在线| 日韩精品久久久久久免费| 午夜av一区| 亚洲欧美在线播放| 欧洲成人午夜精品无码区久久| 国产亚洲一区二区手机在线观看 | jvid福利写真一区二区三区| 成人妇女淫片aaaa视频| 懂色av蜜臀av粉嫩av分享吧最新章节| 欧美日本不卡高清| 日韩最新免费不卡| 国产真实乱人偷精品人妻| 中文字幕一区日韩精品| 制服丝袜av成人在线看| 国产主播中文字幕| 国产免费不卡| 天天综合网 天天综合色| 老司机午夜网站| av播放在线| 国产午夜亚洲精品理论片色戒| 精品久久精品久久| 欧美特级特黄aaaaaa在线看| 国产另类ts人妖一区二区| 国产精品国产三级国产普通话蜜臀| 欧美麻豆精品久久久久久| 蜜臀av性久久久久蜜臀av| av网在线观看| 国产欧美综合色| 欧美美乳视频网站在线观看| 午夜视频1000| 99久久国产免费看| 国产女人水真多18毛片18精品| 国产精品无码久久av| 久久99精品久久久久久动态图| 国产精品久久久av久久久| 成人毛片在线播放| 亚洲黄色av| 91精品国产一区| 国产主播在线观看| 亚洲伦理精品| 热re91久久精品国99热蜜臀| 日本a级c片免费看三区| 午夜综合激情| 日韩免费不卡av| 91丝袜一区二区三区| 视频一区视频二区中文| 国产精品爱久久久久久久| 天天干,天天干| 免费成人在线视频观看| 成人a级免费视频| 精品国产免费无码久久久| 国产成人一区二区精品非洲| 国产厕所精品在线观看| 视频在线不卡| 久久精品人人做人人爽人人| 亚洲欧美日韩另类精品一区二区三区 | 精品自拍偷拍视频| 欧美视频日韩| 69av在线视频| 中文字幕av网站| 国内精品视频666| 国产精品乱子乱xxxx| 日本不卡视频一区二区| 国产三级三级三级精品8ⅰ区| 一本色道久久综合亚洲精品婷婷 | 99精品国产一区二区三区| 久久久精品视频成人| 久久免费视频精品| 母乳一区在线观看| 成人黄色av免费在线观看| 性中国古装videossex| www久久久久| 黄色一级片网址| yellow字幕网在线| 欧美日韩国产一区二区三区地区| 无码国产精品一区二区高潮| 天天躁日日躁成人字幕aⅴ| 中日韩美女免费视频网站在线观看| 污软件在线观看| 99热精品在线| 91久久久在线| 你懂的免费在线观看| 亚洲免费资源在线播放| 欧美v在线观看| www.欧美| 亚洲三级av在线| 激情五月少妇a| 奇米888四色在线精品| 国产精品久久国产三级国电话系列 | 欧美激情国产精品免费| 丝袜诱惑制服诱惑色一区在线观看 | 欧美,日韩,国产在线| 欧美激情不卡| 国产视频精品一区二区三区| 国产97免费视频| 日韩电影在线一区二区| 91亚色免费| 91网在线播放| 色综合色狠狠综合色| 蜜桃色一区二区三区| 婷婷综合伊人| 国产精品999| 天堂视频中文在线| 亚洲午夜电影在线| 99精品视频国产| 日本欧美肥老太交大片| 欧美性在线视频| 色一情一乱一乱一区91av| 一区二区在线看| 五月天中文字幕在线| 国产精品一区二区av交换| 97免费中文视频在线观看| jizz国产视频| 亚洲欧美日韩一区二区| 污污的视频免费| 欧美日韩伦理| 国产91精品网站| 四虎电影院在线观看| 欧美日韩免费区域视频在线观看| 精产国品一区二区三区| 欧美一区二区三区久久精品茉莉花| 国产精品视频最多的网站| 国产对白叫床清晰在线播放| 欧美日韩一区二区在线播放| 中文字幕乱码在线| 激情欧美一区二区三区| 官网99热精品| 福利成人导航| 亚洲第一二三四五区| 久久婷婷一区二区| 成人激情动漫在线观看| 欧美一区二区中文字幕| 精品人人人人| 97超级碰碰人国产在线观看| 无码国产精品一区二区色情男同 | 中文字幕亚洲欧美日韩高清| 亚洲男人天堂网址| 中文字幕欧美激情| 国产精品久久久毛片| 日韩国产一区二区| 成人欧美一区二区三区在线| h片在线免费观看| 欧美成人欧美edvon| 免费在线视频一区二区| 99久久精品免费看| 欧美少妇性生活视频| 精品国精品国产自在久国产应用| 国产精品老牛影院在线观看| 免费在线看a| 日韩一区二区三区电影在线观看| 久久久久亚洲av无码专区| av成人免费在线| 国产淫片av片久久久久久| 日韩欧美午夜| 99在线国产| 在线天堂新版最新版在线8| 国产性色av一区二区| 国产又粗又猛又爽又黄的视频一| 一区二区三区在线高清| 中文字幕在线免费看线人 | 视频区 图片区 小说区| 欧美日韩三区| 欧洲在线视频一区| 中文字幕成人| 97在线视频免费| 午夜激情视频在线观看| 亚洲成人三级在线| 亚洲精品无码久久久久| 亚洲精品乱码久久久久久久久| 中文字幕在线免费看线人| 精品在线一区二区三区| 青青草精品视频在线| 日本不卡二三区| 国产亚洲第一区| 欧美在线se| 国产91av在线| 2021国产在线| 国产亚洲精品久久| 亚洲av综合色区无码一二三区| 色综合一区二区三区| 免费视频一二三区| 欧美激情一二三区| 国产精品麻豆入口| 久久精品国产免费| av动漫在线观看| 午夜国产精品视频| 涩涩日韩在线| 日本成人a网站| 99re视频| 99久久999| 国产成人午夜视频网址| 国产色婷婷在线| 久久视频精品在线| 国产在线一二| 日韩成人在线视频| 不卡视频在线播放| 欧美精品1区2区3区| 国产黄色免费观看| 亚洲mv在线观看| 久久国产精品国语对白| 国产日韩欧美高清| 免费在线观看你懂的| 成人精品免费网站| 6080国产精品| 麻豆91在线观看| www日韩在线观看| 亚洲女同在线| 国产人妻777人伦精品hd| 午夜欧美精品| 国产高潮呻吟久久久| av资源久久| 色视频一区二区三区| 亚洲成aⅴ人片久久青草影院| 国产精品一区二区a| 91国内精品| 成人资源av| av成人男女| 懂色一区二区三区av片| 涩涩屋成人免费视频软件| 成人在线激情视频| 日韩一级特黄| 成人午夜激情免费视频| 99精品国产九九国产精品| 国产狼人综合免费视频| 91成人抖音| 国产精品嫩草影院一区二区| 亚洲四虎影院| 国产欧美在线观看| 亚洲高清影院| 亚洲精品免费网站| 欧美中文高清| 国产精品乱子乱xxxx| 日韩mv欧美mv国产网站| 久久99国产精品99久久| 国产精品嫩草影院在线看| 欧美日韩综合另类| 日韩电影二区| 91社在线播放| 狠狠入ady亚洲精品| 国内精品在线观看视频| 亚洲一区中文| 第四色婷婷基地| 激情综合五月天| 人妻体体内射精一区二区| 丁香亚洲综合激情啪啪综合| 亚洲色偷偷色噜噜狠狠99网| www一区二区| 337人体粉嫩噜噜噜| 自拍偷拍欧美激情| 日本一级黄色大片| 色综合婷婷久久| 在线播放成人av| 日韩一级免费观看| 天天操天天插天天射| 国产亚洲激情在线| 麻豆网站在线免费观看| 久久久久久国产精品三级玉女聊斋| 欧美亚洲日本精品| 国产欧洲精品视频| 在线精品自拍| 日韩av高清| 女人色偷偷aa久久天堂| www.中文字幕在线| 精品在线观看视频| 日本少妇xxxx| 国产精品久久午夜夜伦鲁鲁| 免费一级特黄特色大片| 色系网站成人免费| 精品国产va久久久久久久| 日韩大陆欧美高清视频区| 日本美女在线中文版| 97在线视频精品| 亚洲精品tv| 欧美成人一区二区在线| 91成人精品| 男女视频一区二区三区| 国产精品538一区二区在线| 国产精品815.cc红桃| 一区二区三区在线免费视频| 无码人妻av免费一区二区三区| 日韩午夜激情电影| av资源在线观看免费高清| 国内免费久久久久久久久久久| 成人黄色图片网站| 国精产品99永久一区一区| 亚洲五月综合| 一区二区在线播放视频| 99亚偷拍自图区亚洲| 久久国产精品国语对白| 91久久线看在观草草青青| 亚洲精品喷潮一区二区三区 | 99久久久无码国产精品不卡| 五月婷婷激情综合| 国产毛片毛片毛片毛片毛片| 亚洲欧美日韩第一区| 久久免费电影| 成人免费视频网| 成人三级视频| 能看的毛片网站| 91免费国产在线| 国产一级av毛片| 日韩视频不卡中文| 免费av在线| 国产精品中文久久久久久久| 亚洲精品国产setv| 久久久亚洲精品无码| 成人午夜在线播放| 欧产日产国产v| 欧美区视频在线观看| aⅴ在线视频男人的天堂| 国产成人综合精品| 亚洲综合图色| 国产aaa一级片| 91丝袜呻吟高潮美腿白嫩在线观看| 久久影院一区二区| 日韩精品在线一区| 91三级在线| 产国精品偷在线| 国模 一区 二区 三区| 日本少妇xxxx软件| 亚洲福利一二三区| 韩国av在线免费观看| 久久久久中文字幕| 国产精品x8x8一区二区| 波多野结衣av一区二区全免费观看 | 亚洲aⅴ怡春院| 国产哺乳奶水91在线播放| 美女精品视频一区| www.成人网| 老太脱裤让老头玩ⅹxxxx| 91蜜桃网址入口| 少妇久久久久久久| 中文字幕精品在线| 91成人小视频| 欧美黄色免费网址| 北条麻妃一区二区三区| 91精品国产乱码久久久张津瑜| 亚洲精品成人久久| 亚洲最新无码中文字幕久久| 欧美二区在线| 欧美aaa在线| 亚洲色婷婷一区二区三区| 日韩欧美国产小视频| 欧美人与性动交α欧美精品图片| 成人18视频| 亚洲欧美成人| 999久久久国产| 日韩免费看网站| av成人影院在线| 日韩中文字幕一区| 国产一区不卡在线| 欧美成人aaaaⅴ片在线看| 亚洲免费av网址| 亚洲tv在线| 国产不卡一区二区视频| 国产日韩欧美电影| wwwav网站| 日本午夜在线亚洲.国产| 天天射—综合中文网| 最新日本中文字幕| 欧美在线观看你懂的| 成人免费在线| 鲁鲁狠狠狠7777一区二区| 久久国产精品色婷婷| 日产电影一区二区三区| 亚洲片在线资源| 国产精品777777在线播放| 好吊妞无缓冲视频观看| 国产精品久久久久婷婷二区次| 欧美一级视频免费| 国产精品久久久久久久久久三级 | 国产精品水嫩水嫩| www国产一区| 国产精品成人在线| 欧美性色综合| 国产三级在线观看完整版| 精品国产乱码久久久久久1区2区 | 99c视频在线| 日韩高清一区在线| 黄色激情视频在线观看|