日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

java

Java笔记 - 黑马程序员_03(继承,修饰符,多态,抽象类,接口,内部类)

發布時間:2023/12/18 java 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java笔记 - 黑马程序员_03(继承,修饰符,多态,抽象类,接口,内部类) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 繼承

1.1 繼承的概述

繼承是面向對象三大特征之一。可以使得子類具有父類元素的屬性和方法,還可以在子類中重新定義,追加屬性和方法。

繼承的格式:

  • 格式:public class 子類名 extends 父類名

  • 案例:public class ZI extends FU{}

  • FU類為父類(superclass),超類,基類

  • ZI類為子類(subclass),派生類,擴展類

繼承中子類的特點:

  • 子類可以有父類的內容

  • 子類也可以有自己特有的內容

//1.創建父類 package extendsDemo; ? public class Fu {public void show(){System.out.println("Fu中方法被調用了");} } ? //2.創建子類(子類繼承父類) package extendsDemo; ? public class Zi extends Fu{public void method(){System.out.println("Zi中方法被調用");} } ? //3.測試類 package extendsDemo; ? public class Demo {public static void main(String[] args) {//創建對象,調用方法Fu f = new Fu();f.show(); ?Zi z= new Zi();z.method();z.show();} } ? //運行結果 Fu中方法被調用了 Zi中方法被調用 Fu中方法被調用了

1.2 繼承的好處和弊端

好處:

  • 提高代碼的復用性(多個類相同的成員可以放到同一個類中)

  • 提高代碼的維護性(如果方法的代碼需要修改,修改一處即可)

弊端:

  • 繼承讓類與類之間產生了關系,類的耦合性增強,當父類發生變化時子類實現也不得不跟著變化,削弱了子類的獨立性。

什么時候使用繼承?

  • 假設法:有兩個類A與B,如果他們之間滿足A是B的一種,或者B是A的一種,就說明他們之間存在著繼承關系,這個時候他們存在著繼承關系,可以考慮使用繼承,否則不能濫用繼承

  • 例如:蘋果和水果,貓和動物(都可使用繼承),貓和狗(不能使用繼承)

1.3繼承中變量的訪問

在子類方法中訪問一個變量的訪問順序:

  • 子類局部范圍找

  • 子類成員范圍找

  • 父類成員范圍找

  • 如果都沒有就報錯(不考慮父類以上的)

  • //1. package extendsDemo; ? public class Fu {public int height = 185;public int age = 18; } ? //2. package extendsDemo; ? public class Zi extends Fu{public int height = 183; ?public void method(){int height = 181;System.out.println(age);//局部變量中的heightSystem.out.println(height);//this.height訪問本類中成員變量中的heightSystem.out.println(this.height);//super.height訪問父類成員變量中的heightSystem.out.println(super.height);} } ? //3.測試類 package extendsDemo; ? public class Demo {public static void main(String[] args) {//創建對象,調用方法Zi z= new Zi();z.method();} } ? //運行結果 18 181 183 185

    1.4 super關鍵字

    super關鍵字和this關鍵字的用法相似之處

    • this:代表本類對象的引用(this關鍵字指向調用該方法的對象)

    • super:代表父類存儲空間的標識(可以理解為父類引用對象)

    關鍵字訪問成員變量訪問構造方法訪問成員方法
    thisthis.成員變量 訪問本類成員變量this(.....) 訪問本類構造方法this.成員方法(....) 訪問本類成員方法
    supersuper.成員變量 訪問父類成員變量super(.....) 訪問父類構造方法super.成員方法(....) 訪問fu類成員方法

    1.5 繼承中構造方法的訪問特點

    子類中所有的構造方法默認都會訪問父類中無參的構造方法:

    • 因為子類會繼承父類中的數據,可能還會使用父類的數據。所以,子類初始化之前,一定要先完成父類數據的初始化

    • 每一個子類構造方法的第一條語句默認都是:super()

    如果父類沒有無參構造方法,只有帶參構造方法,該怎么辦?

  • 通過使用super關鍵字去 顯示的調用父類帶參構造方法

  • 在父類中自己提供一個無參構造方法

  • 推薦:自己給出無參構造方法

    //1. package extendsDemo; ? public class Fu {/* public Fu(){System.out.println("fu中無參構造方法");}*/ ?public Fu(int age){System.out.println("fu中有參構造方法");} } ? //2. package extendsDemo; ? public class Zi extends Fu{public Zi(){ // ? super(); ? 系統默認調用父類無參構造方法super(20);System.out.println("zi中無參構造方法");} ?public Zi(int age){ // ? super(); ? 系統默認調用父類無參構造方法super(19);System.out.println("zi中有參構造方法");} } ? //3.測試類 package extendsDemo; ? public class Demo {public static void main(String[] args) {//創建對象,調用方法Zi z= new Zi();Zi z1 = new Zi(18);} } ? //運行結果 fu中有參構造方法 zi中無參構造方法 fu中有參構造方法 zi中有參構造方法

    1.6 繼承中成員方法的訪問特點

    通過子類對象訪問一個方法:(就近原則)

  • 子類成員范圍找

  • 父類成員范圍找

  • 如果沒有就報錯(不考慮父類以上)

  • //1. package extendsDemo; ? public class Fu {public void show(){System.out.println("fu中的成員方法被調用");} } ? //2. package extendsDemo; ? public class Zi extends Fu { ?public void method() {System.out.println("Zi中的成員方法被調用");} ?@Overridepublic void show() {super.show(); //調用父類的方法System.out.println("zi中的成員方法被調用");} } ? //3. package extendsDemo; ? public class Demo {public static void main(String[] args) {//創建對象,調用方法Zi z= new Zi();z.show();z.method();} } ? //運行結果 fu中的成員方法被調用 zi中的成員方法被調用 Zi中的成員方法被調用

    1.7 super內存圖

    點擊觀看視頻詳解

    1.8 方法重寫

    方法重寫概述:

    • 子類中出現了和父類一摸一樣的方法聲明

    方法重寫的應用:

    • 當子類需要父類的功能,而主題子類有著自己特有的內容時,可以重寫父類方法,這樣,即沿襲了父類的功能,又定義了子類特有的內容

    @Override

    • 是一個注解

    • 可以幫助我們檢查重寫的方法的 方法聲明的正確性

    方法重寫注意事項:

    • 私有方法不能被重寫(父類中private修飾 的不能在子類中 直接訪問??梢酝ㄟ^間接的手段來訪問。通過get方法來訪問)

    • 子類方法的訪問權限不能低于父類(public > 默認 > 私有)

    //1. package iphone; ? public class Iphone {public void call(String name){System.out.println("給"+name+"打電話");} } ? //2. package iphone; ? public class NewIphone extends Iphone {@Override //幫助我們檢查重寫的方法的 方法聲明的正確性public void call(String name) {System.out.println("打開視頻"); // ? ? ? System.out.println("給"+name+"打電話");super.call(name);} } ? //3. package iphone; ? public class IphoneDemo {public static void main(String[] args) {Iphone p = new Iphone();p.call("張三");System.out.println("-------------"); ?NewIphone np = new NewIphone();np.call("李四"); ?} } ? //運行結果 給張三打電話 ------------- 打開視頻 給李四打電話

    1.10 Java中繼承的注意事項

  • Java中類只支持單繼承,不支持多繼承

  • Java支持多層繼承(間接繼承)

  • ????????例如:class C extends B,class B extends A,

    ????????也就 是說,C 直接繼承 B,其實 C 還間接繼承 A

    1.11 案例

    1. 老師和學生

    需求:定義老師類和學生類,找到老師類和學生類的共性內容,抽取一個父類,用繼承的方式改寫代碼,并進行測試

    思路:

  • 共性父類,定義人類(姓名, 年齡)

  • 定義老師類,繼承人類,給出自己的方法:教書()

  • 定義老師類,繼承人類,給出自己的方法:學習()

  • 定義測試類,寫代碼測試

  • //1.定義老師類 package studentAndTeacher; ? public class Teacher extends Person { ?public Teacher() {} ?public Teacher(String name, int age) {/* this.name = name;this.age = age;*/super(name, age);//通過super()訪問父類的帶參構造方法} ?public static void teach() {System.out.println("正在教書");} } ? //2.定義學生類 package studentAndTeacher; ? public class Student extends Person { ?public Student() {} ?public Student(String name, int age) {/*this.name = name;this.age = age; 其他類不能訪問公共類的私有成員*/super(name, age);//通過super()訪問父類的帶參構造方法} ?public static void stud() {System.out.println("正在學習");} } ? //3.定義公共類 package studentAndTeacher; ? public class Person {private String name;private int age; ?public Person() {} ?public Person(String name, int age) {this.name = name;this.age = age;} ?public String getName() {return name;} ?public void setName(String name) {this.name = name;} ?public int getAge() {return age;} ?public void setAge(int age) {this.age = age;}public static void dos(String ds){ //定義公共方法System.out.println(ds);} } ? //4.測試類 package studentAndTeacher; ? public class Demo {public static void main(String[] args) { ?Student sc = new Student("張三",18);System.out.println(sc.getAge()+", "+sc.getName());sc.stud();sc.dos("學習"); ?Teacher cc = new Teacher("李四",25);System.out.println(cc.getAge()+", "+cc.getName());cc.teach();cc.dos("教書");} } ? //運行結果 18, 張三 正在學習 學習 25, 李四 正在教書 教書

    2.貓和狗

    需求:采用繼承的思想實現貓和狗的案例,并在測試類中進行測試

    共性:

    成員變量:姓名,年齡;構造方法:無參,帶參;成員方法:get/set方法

    //1. package catAndDog; ? public class Cat extends Animal {public Cat() {} ?public Cat(String name, int age) {super(name, age); //調用父} ?public static void show(){System.out.println("抓老鼠");} } ? //2.package catAndDog; ? public class Dog extends Animal {public Dog() {} ?public Dog(String name, int age) {super(name, age);} ?public static void method(){System.out.println("看家");} } ? //3. package catAndDog; ? public class Animal {private String name;private int age; ?public Animal() {}public Animal(String name, int age) {this.name = name;this.age = age;} ?public String getName() {return name;} ?public void setName(String name) {this.name = name;} ?public int getAge() {return age;} ?public void setAge(int age) {this.age = age;} ?public static void fn(String dos){System.out.println(dos);} } ? //4. package catAndDog; ? public class Demo {public static void main(String[] args) {Dog an = new Dog("ww",2);System.out.println(an.getName()+", "+an.getAge());an.method();an.fn("看門"); ?Cat ca = new Cat("mm",1);System.out.println(ca.getName()+", "+ca.getAge());ca.show();ca.fn("抓小雞");} } ? //運行結果 ww, 2 看家 看門 mm, 1 抓老鼠 抓小雞

    2. 修飾符

    2.1包的概述和使用

    其實就是文件夾 作用:對類進行分類管理 包的定義格式

  • 格式:package包名; (多級包用分開)

  • 范例:package com.itheima; 帶包的)ava類編譯和執行

  • 手動建包:

    1.按照以前的格式編譯java文件???????????????? javac HelloWorld.java

    2.手動創建包 ????????????????在E盤建立文件夾com,然后在com下建立文件夾theima

    3.把class文件放到包的最里面 ????????????把HelloWorld.class文件放到com下的Jitheimai這個文件夾下

    4.帶包執行 ????????????????java com.itheima.HelloWorld

    自動建包:

    javac-d,HelloWorld.java ????????????????java com.itheima.HelloWorld

    2.2導包的概述和使用

    使用不同包下的類時,使用的時候要寫類的全路徑,寫起來太麻煩了 為了簡化帶包的操作,Jva就提供了導包的功能

    導包的格式:

    1. 格試:import包名:

    2. 范例:import cn.itcast..Teacher

    為了簡化帶包的操作,Jva就提供了導包的功能

    導包的格式

    格試:import? 包名:

    • 范例:importcn.itcast.Teacher

    2.3 修飾符權限

    修飾符同一個類中同一個包中子類無關類不同包的子類不同包的無關類
    privateyesnonono
    默認yesyesnono
    protectedyesyesyesno
    publicyesyesyesyes

    2.4 final

    final關鍵字是最終的意思,可以修飾成員方法,成員變量,類

    final修飾的特點:

    • 修飾方法:表明該方法是最終的方法,不能被重寫

    • 修飾變量:表明該變量是常量,不能再次被賦值

    • 修飾類:表明該類是最終類,不能被繼承

    final修飾局部變量

    • 變量是基本類型:final修飾指的是基本類型的數據值不能發生改變

    • 變量是引用類型:final修飾指的是引用類型的地址值不能發生改變,但是地址里面的內容是可以改變的

    //1. package finalDemo; ? public class Student {public int age = 18; } ? //2. package finalDemo; ? import org.w3c.dom.ls.LSOutput; ? public class FinalDemo {public static void main(String[] args) {//final修飾基本變量final int age = 20; // ? ? ? age = 18; ? ? 報錯System.out.println(age); ?//final修飾引用類型變量final Student s = new Student();s.age = 20;System.out.println(s.age);} }

    代碼塊 -- new

    代碼塊概述:

    • 代碼塊是類的成分之一(成員變量、構造器,方法,代碼塊,內部類Java類中,使用{ }括起來的代碼被稱為代碼塊。

    • 在Java類中,使用{}括起來的代碼被稱為代碼塊。

    代碼塊分為:

    • 構造代碼塊

    • 格式:{}

    • 特點:每次構造方法執行之前,都會先執行構造代碼塊的代碼。

    • 使用場景:將多個構造方法中相同的代碼,抽取到構造代碼塊中,提高代碼的復用性。 靜態代碼塊

    • 靜態的代碼塊

    • 格式:static{}

    • 特點:隨著類的加載而觸發執行,并且只會執行一次。

    • 使用場景:在類加載的時候做一些靜態數據初始化的操作,以便后續對象可以使用。

    package com.demo; ? public class Demo_代碼塊 { ?//每次構造方法執行之前,都會先執行構造代碼塊的代碼//沒有構造方法不會出發執行構造代碼塊{System.out.println("構造代碼塊");}//隨著類的加載而觸發執行,并且只會執行一次static {System.out.println("靜態代碼塊");} }

    2.5 static

    static關鍵字是靜態的意思,可以修飾成員變量,成員方法

    static修飾的特點:

    • 被類的所有對象共享;這是判斷是否使用靜態關鍵字的條件

    • 可以通過類名調用;也可以通過對象名調用;推薦使用類名調用

    2.6 static訪問特點

    非靜態成員方法:

    • 能訪問靜態的成員變量

    • 能訪問非靜態的成員變量

    • 能訪問靜態的成員方法

    • 能訪問非靜態的成員方法

    靜態成員方法:

    • 能訪問靜態成員變量

    • 能訪問靜態成員方法

    總結:靜態成員方法只能訪問靜態成員

    3. 多態

    3.1 多態的概述

    • 同一個對象,在不同時刻表現出來的不同形態

    • 多種形態,多種狀態,編譯和運行有兩個不同的狀態。

      編譯期叫做靜態綁定。

      運行期叫做動態綁定。

    • Animal a = new Cat();

    ? ? ? ? 1. a.eat();

    ? ? ? ? 2. 父類引用指向子類對象

    ????????3. 編譯的時候編譯器發現a的類型是Animal,所以編譯器會去Animal類中找eat()方法

    ? ? ? ? 4. 找到了,綁定,編譯通過。但是運行的時候和底層堆內存當中的實際對象有關

    ? ? ? ? 5.?真正執行的時候會自動調用“堆內存中真實對象”的相關方法。

    多態在開發中的作用是: 降低程序的耦合度,提高程序的擴展力。

    多態的前提和實現:

  • 有繼承/實現關系

  • 有方法重寫

  • 有父類引用指向子類對象

  • 3.2 多態中成員訪問特點

    成員變量:編譯看左邊,執行看左邊

    成員方法:編譯看左邊,執行看右邊

    為什么成員變量和成員方法不一樣?

    • 因為成員方法有重寫,成員變量沒有

    3.3 多態的好處和弊端

    • 多態的好處:提高程序的擴展性

    具體體現:定義方法的時候,使用父類型作為參數,將來使用的時候,使用具體的子類型參與操作

    • 多態的弊端:不能使用子類的特有功能

    3.4 多態中的轉型

    向上轉型:子--->父 (upcasting) 又被稱為自動類型轉換:Animal a = new Cat();

    向下轉型:父--->子 (downcasting) 又被稱為強制類型轉換:Cat c = (Cat)a; 需要添加強制類型轉換符。

    什么時候需要向下轉型?

    1.需要調用或者執行子類對象中特有的方法。

    2.必須進行向下轉型,才可以調用。

    向下轉型有風險嗎?

    1.容易出現ClassCastException(類型轉換異常)

    怎么避免這個風險?

    1. instanceof運算符,可以在程序運行階段動態的判斷某個引用指向的對象是否為某一種類型。

    不管是向上轉型還是向下轉型,首先他們之間必須有繼承關系,這樣編譯器就不會報錯。

    //1. package demo_01; ? public class Animal {public void eat(){System.out.println("吃東西");} } ? //2. package demo_01; ? public class Cat extends Animal{@Overridepublic void eat() {System.out.println("貓吃魚");}public void show(){System.out.println("貓捉老鼠");} } ? //3.測試類 package demo_01; ? public class AnimalDemo {public static void main(String[] args) {//父類引用指向子類對象Animal a = new Cat();a.eat(); // 報錯 ? ? ? a.show();//向下轉型Cat b = (Cat)a;b.eat();b.show();} } 3.5 貓和狗(多態版) //1. package catAndDog; ? public class Animal {private String name;private int age; ?public Animal() {} ?public Animal(String name, int age) {this.name = name;this.age = age;} ?public String getName() {return name;} ?public void setName(String name) {this.name = name;} ?public int getAge() {return age;} ?public void setAge(int age) {this.age = age;} ?public void eat(){System.out.println("吃東西");} } ? //2. package catAndDog; ? public class Dog extends Animal{public Dog() {} ?public Dog(String name, int age) {super(name, age);} ?@Overridepublic void eat() {System.out.println("餓狗撲食");} ?public void show(){System.out.println("小狗玩耍");} } ? //3.測試類 package catAndDog; ? import demo_01.Cat; ? public class AnimalDemo {public static void main(String[] args) {//父類引用指向子類對象,創建對象Animal a = new Dog("小黃", 6);a.eat(); // ? ? ? a.show(); 報錯System.out.println("--------------"); ?//向下轉型Dog d = (Dog) a;d.eat();d.show();System.out.println("--------------"); ?/* Dog s = new Dog("小紅", 2);s.show();s.eat();*/} } ? //運行結果 餓狗撲食 -------------- 餓狗撲食 小狗玩耍 --------------

    4. 抽象類

    4.1 抽象類的概念

    在Java中,一個沒有方法體的方法應該定義為抽象方法,而類中的如果有抽象方法,該類必須定義為抽象類

    package demo_01; ? public abstract class Animal { ?public abstract void eat(); ? }

    4.2 抽象類的特點

    • 抽象類和抽象方法必須用abstract關鍵字修飾?

    public abstract class 類名{}

    public abstract void eat();

    • 抽象類不一定有抽象方法,有抽象方法的類一定是抽象類

    • 抽象類不能實例化

    抽象類如何實例化呢?參照多態的形式,通過子類對象實例化,這叫抽象類多態

    • 抽象的子類

    1.要么重寫抽象類中的所有抽象方法

    2.要么是抽象類

    4.3 抽象類的成員特點

    • 成員變量

    可以是變量

    也可以是常量

    • 構造方法

    有構造方法,但不能實例化

    構造方法的作用是什么呢?用于子類訪問父類數據的初始化

    • 成員方法

    可以有抽象方法:限定子類必須完成某些動作

    也可以有非抽象方法:提高代碼復用性

    4.4 貓和狗(抽象類版)

    需求:采用抽象類的思想實現貓和狗的案例,并在測試類中進行測試

    //1.定義抽象類 package catAndDog; ? public abstract class Animal {private String name;private int age; ?public Animal() {} ?public Animal(String name, int age) {this.name = name;this.age = age;} ?public String getName() {return name;} ?public void setName(String name) {this.name = name;} ?public int getAge() {return age;} ?public void setAge(int age) {this.age = age;} ?public abstract void eat(); } ? //2. package catAndDog; ? public class Cat extends Animal{public Cat() {} ?public Cat(String name, int age) {super(name, age);} ?@Overridepublic void eat() {System.out.println("小貓吃魚");} ?public void show(){System.out.println("66666666");} } ? //3.測試類 package catAndDog; ? public class AnimalDemo {public static void main(String[] args) {Animal a = new Cat();a.setName("大菊");a.setAge(2);System.out.println(a.getName() + ", " + a.getAge());a.eat();System.out.println("--------------"); ?a = new Cat("小黃", 3);System.out.println(a.getName() + ", " + a.getAge());a.eat();System.out.println("--------------"); ?Cat b = (Cat) a;b.show();} } ? //運行結果 大菊, 2 小貓吃魚 -------------- 小黃, 3 小貓吃魚 -------------- 66666666

    5. 接口

    5.1 接口概述

    • 接口就是一種公共的規范標識,只要符合標準規范,大家可以共享

    • Java中的接口更多體現在對行為的抽象

    5.2 接口的特點

    • 接口用關鍵字interface修飾

    public interface 接口名{}

    • 類實現接口implements接口名{}

    public class 類名 implements 接口名{}

    • 接口不能實例化

    1.接口如何實例化? 參照多態的方式,通過實現子類對象實例化,這叫接口實例化

    2.多態的形式:具體類多態, 抽象類多態接口多態

    • 接口實現類

    1.要么重寫接口中的所有抽象方法

    2.要么是抽象類

    5.3 接口成員的特點

    • 成員變量

    只能是常量

    默認修飾符:public static final(可省略)

    • 構造方法

    1. 接口沒有構造方法,因為接口主要是對行為進行抽象的,是沒有具體存在的

    2. 一個類如果沒有父類,默認繼承Object

    • 成員方法

    • 只能是抽象方法

    • 默認修飾符:public abstract

    5.4 貓和狗(接口版)

    需求:對貓和狗進行訓練,他們就可以調高,這里加入了調高功能,請采用抽象類和接口來實現貓和狗案例

    //1.定義接口 package catAndDog; ? public interface Jumpping {public abstract void jump(); } ? //2.定義動物類 package catAndDog; ? public abstract class Animal {private String namne;private int age; ?public Animal() {} ?public Animal(String namne, int age) {this.namne = namne;this.age = age;} ?public String getNamne() {return namne;} ?public void setNamne(String namne) {this.namne = namne;} ?public int getAge() {return age;} ?public void setAge(int age) {this.age = age;} ?public abstract void eat(); } ? //3.定義貓類 package catAndDog; ? public class Cat extends Animal implements Jumpping{public Cat() {} ?public Cat(String namne, int age) {super(namne, age);} ?@Overridepublic void eat() {System.out.println("小貓吃魚");} ?@Overridepublic void jump() {System.out.println("小貓跳高");} } ? //4.測試類 package catAndDog; ? public class AnimalDemo {public static void main(String[] args) {Jumpping j = new Cat();j.jump();System.out.println("--------------"); ?Animal a = new Cat("加菲貓", 3);System.out.println(a.getNamne() + ", " + a.getAge());a.eat(); // ? ? ? a.jump(); ? ? 報錯System.out.println("--------------"); ?a = new Cat("大菊", 2);System.out.println(a.getNamne() + ", " + a.getAge());a.eat();} ? } ? //運行結果 小貓跳高 -------------- 加菲貓, 3 小貓吃魚 -------------- 大菊, 2 小貓吃魚

    5.5 類和接口的關系

    • 類和類的關系

    繼承關系,只能單繼承,但是可以多層繼承

    • 類和接口的關系

    實現關系,可以單實現,也可以多實現,還可以在繼承一個類的同時實現多個接口

    • 接口和接口的關系

    繼承關系,可以單繼承,也可以多繼承

    //接口1 package Demo_02; ? public interface Inter1 { } ? //接口2 package Demo_02; ? public interface Inter2 { } ? //接口3 package Demo_02; ? public interface Inter3 extends Inter1, Inter2 {//接口和接口的關系 } ? //創建類 package Demo_02; ? public class Demo extends Object implements Inter1,Inter2{//類和接口的關系(繼承Object,體現Inter1,Inter2) }

    5.6 抽象類和接口的區別

    • 成員區別

    抽象類:變量,常量;有構造方法;有抽象方法,也有非抽象方法

    接口:常量,抽象方法

    • 關系區別

    類與類:繼承,單繼承

    類與接口:實現,可以單實現,也可以多實現

    接口與接口:繼承,單繼承,多繼承

    • 設計理念區別

    抽象類:對類抽象,包括屬性和行為

    接口:對行為抽象,主要是行為

    //1.定義接口 package Demo_02; ? public interface Inter1 {void jump(); } ? //2.定義貓類 package Demo_02; ? public abstract class Cat {public abstract void eat(); } ? //3.測試類 package Demo_02; ? public class Demo extends Cat implements Inter1{@Overridepublic void jump() {//方法體} ?@Overridepublic void eat() {//方法體} }

    2.接口組成更新概述

    2.1接口組成

    常量?? ?public ?static final
    ?抽象方法 ? ?public abstract
    默認方法(Java8)
    靜態方法(Java8)
    私有方法(Java9)

    2.2接口中默認方法

    接口中默認方法的定義格式:

    - 格式:public default ?返回值類型方法名(參數列表){}
    - 范例:public default void show(){}

    接口中默認方法的注意事項:

    - 默認方法不是抽象方法,所以不強制被重寫。但是可以被重寫,重寫的時候去掉default關鍵字
    - public可以省略,default不能省略

    ```java package demo_01;public interface MyInterface {void show1();void show2();//接口中默認方法public default void show3(){System.out.println("MyInterface的私有方法");} } ```

    2.3接口中靜態方法

    接口中靜態方法的定義格式:

    - 格式:public static ?返回值類型方法名(參數列表){}
    - 范例:public static void show(){}

    接口中靜態方法的注意事項:

    - 靜態方法只能通過接口名調用,不能通過實現類名或者對象名調用
    - public可以省略,static不能省略

    ```java package demo_01;public interface MyInterface {void show1();void show2();//接口中的靜態方法(靜態方法只能通過接口名調用 MyInterface.show4())public static void show4(){System.out.println("MyInterface的靜態方法");} }```

    2.4 接口中的私有方法

    接口中私有方法的定義格式:

    - 格式1:private返回值類型方法名(參數列表){}
    - 范例1:private void show() {}
    - 格式2:private static 返回值類型方法名(參數列表){}
    - 范例2:private static void method(){}

    接口中私有方法的注意事項:

    - 默認方法可以調用私有的靜態方法和非靜態方法
    - 靜態方法只能調用私有的靜態方法

    ```java package demo_01;public interface MyInterface {void show1();void show2();public default void show3(){ // ? ? ? ?System.out.println("初級程序員"); // ? ? ? ?System.out.println("中級程序員"); // ? ? ? ?System.out.println("高級程序員");show5();}public static void show4(){ // ? ? ? ?System.out.println("初級程序員"); // ? ? ? ?System.out.println("中級程序員"); // ? ? ? ?System.out.println("高級程序員");show5();}//接口中的私有方法private static void show5(){System.out.println("初級程序員");System.out.println("中級程序員");System.out.println("高級程序員");} } ```

    6. 形參和返回值

    6.1 類名作為形參和返回值

    • 方法的形參是類名,其實需要的是該類的對象

    • 方法的返回值類名,其實返回的是該類的對象

    //1.定義貓類 package demo_03; ? public class Cat {public void eat(){System.out.println("貓吃魚");} } ? //2.定義貓類操作類 package demo_03; ? public class CatOperator {public void usecat(Cat c){ ?//傳遞過來的參數為 Cat c = new Cat();c.eat();} ?public Cat method(){Cat b = new Cat();return b;} } ? //3.測試類 package demo_03; /* 方法的形參是類名,其實需要的是該類的對象 方法的返回值類名,其實返回的是該類的對象*/ public class CatDemo {public static void main(String[] args) {CatOperator op = new CatOperator();Cat c = new Cat();op.usecat(c); ?Cat a = op.method(); ? ?// 返回值為new Cat對象a.eat();} } //4.運行結果 貓吃魚 貓吃魚

    6.2 抽象類名作為形參和返回值

    • 方法的形參是抽象類名,其實需要的是該抽象類的子類對象

    • 方法的返回值是抽象類名,其實返回的是該抽象類的子類對象

    //1. package Demo_04; ? public abstract class Animal {public abstract void eat(); } ? //2. package Demo_04; ? public class AnimalOperator {public void show(Animal a){ //Animal c = new Cat();a.eat();} ?public Animal method(){ //return new Cat();Animal b= new Cat();return b;} } ? //3.定義貓類,創建Animal抽象類子類對象 package Demo_04; ? public class Cat extends Animal{@Overridepublic void eat() {System.out.println("貓吃魚");} } ? //4.測試類 package Demo_04; ? public class AnimalDemo {public static void main(String[] args) {AnimalOperator s = new AnimalOperator();Animal c = new Cat();s.show(c); ?Animal m = s.method();m.eat(); ?} } //4.運行結果 貓吃魚 貓吃魚

    6.3 接口名作為形參和返回值

    • 方法的形參是接口名,其實需要的是該接口的實現類對象

    • 方法的返回值是接口名,其實返回的是該接口的實現類對象

    //1. package Demo_05; ? public interface Jumpping {void jump(); } ? //2. package Demo_05; ? import Demo_01.Jump; ? public class JumppingOperator {public void show(Jumpping a){a.jump();} ?public Jumpping method(){Jumpping b= new Cat();return b;} } ? //3. package Demo_05; ? public class Cat implements Jumpping{@Overridepublic void jump() {System.out.println("貓跳高");} } ? //4. package Demo_05; /* - 方法的形參是接口名,其實需要的是該接口的實現類對象 - 方法的返回值是接口名,其實返回的是高接口的實現類對象*/ public class JumppingDemo {public static void main(String[] args) {//創建操作類對象,調用方法JumppingOperator j = new JumppingOperator();Jumpping s = new Cat();j.show(s); ?Jumpping m = j.method();m.jump(); ?} } //5.運行結果 貓跳高 貓跳高

    7. 內部類

    7.1 內部類概述

    • 內部類:就是在一個類中定義一個類。

    • 舉例:在一個類A的內部定義一個類B,類B就被稱為內部類

    • 內部類的定義格式

    • 格式:

      public class 類名{

      修飾符 class 類名{

      }

      }

    • 內部類的訪問特點:

  • 內部類可以訪問外部類的成員,包括私有

  • 外部類要訪問內部類的成員,必須創建對象

  • //1.定義類 package demo_01; /* 內部類的訪問特點: 1. 內部類可以訪問外部類的成員,包括私有 2. 外部類要訪問內部類的成員,必須創建對象 */ public class Outer {private int age = 18;public class Inner{public void show(){//內部類中訪問外部類中的成員變量System.out.println(age);}}public void method(){Inner a = new Inner();a.show();} } ? //2.測試類 package demo_01; ? public class OuterDemo {public static void main(String[] args) {Outer o = new Outer();o.method();} } //運行結果 18

    7.2 成員內部類

    按照內部類在類中定義的位置不同,可以分為如下兩種形式:

    • 在類的成員位置:成員內部類(在成員變量定義的類)

    • 在類的局部位置:局部內部類(在方法中定義的類)

    成員內部類,外界如何使用呢?

    • 格式:外部類名.內部類名 對象明 = 外部類對象.內部類對象

    • 范例:Outer.Inner oi = new Outer().new Inner();

    局部內部類:

    • 局部內部類是在方法中定義的類,所以外界是無法直接使用,需要在方法內部創建對象并使用,該類可以直接訪問外部類的成員,也可以訪問的方法內的局部變量

    //1. package demo_01; ? public class Outer {private int age = 18;//成員內部類public class Inner {public void show() {System.out.println(age);}} ?//局部內部類public void method() {int age2 = 20;class Inner {public void show() {System.out.println(age);System.out.println(age2);}}Inner i = new Inner();i.show();} } ? //2. package demo_01; ? public class OuterDemo {public static void main(String[] args) {//創建成員內部類對象并調用Outer.Inner oi = new Outer().new Inner();oi.show();System.out.println("-----------");//創建對象,調用成員內部類Outer o = new Outer();o.method();} } //運行結果 18 ----------- 18 20

    7.3 匿名內部類

    前提:存在一個類或者接口,在這里類可以是具體的類也可以是抽象的類

    • 格式:

    new 類名或者接口名(){

    重寫方法;

    };

    • 范例:

    new Inter(){

    public void show(){

    }

    };

    • 本質:是一個繼承了該類或者實現了該接口的子類匿名對象

    //1.定義接口 package demo_02; ? public interface Inter {void show(); } ? //2. package demo_02; /* 本質:是一個繼承了該類或者實現了該接口的子類匿名對象 */ public class Outer{ ?public void method(){/*new Inter(){@Overridepublic void show() {System.out.println("匿名內部類");}};*/ ?/*new Inter(){ ? ? //匿名內部類@Overridepublic void show() {System.out.println("匿名內部類");}}.show(); ? //對象可以直接調用方法*/ ?Inter i = new Inter(){ ?//接口不能創建對象,但這里是根據匿名對象創建對象,匿名對象已經將方法重寫了,相當于是接口的實現類,用接口的實現類創建對象就沒有什么問題了@Overridepublic void show() {System.out.println("匿名內部類");}};i.show();i.show(); ?} } ? //3.測試類 package demo_02; ? public class OuterDemo {public static void main(String[] args) {Outer o = new Outer();o.method();} } ? //4.運行結果 匿名內部類 匿名內部類

    7.4 匿名內部類在開發中的使用

    //1.跳高接口 package Demo_03; // public interface Jumpping {void jump(); } ? //2.接口操作類,里面有一個方法,方法的參數是接口名 package Demo_03; ? public class JumppingOpertor {public void method(Jumpping j){j.jump();} } ? //3.接口實現類 package Demo_03; ? public class Cat implements Jumpping{@Overridepublic void jump() {System.out.println("小貓跳高了");} } ? //4.測試類 package Demo_03; ? public class JumppingDemo {public static void main(String[] args) {//創建接口操作類對象,調用method方法JumppingOpertor s = new JumppingOpertor();Jumpping c = new Cat();s.method(c);System.out.println("-----------"); ?//匿名函數作為參數調用方法(好處:不需要在d接口實現類)s.method(new Jumpping() {@Overridepublic void jump() {System.out.println("小狗跳高");}}); ?} } ? //運行結果 小貓跳高了 ----------- 小狗跳高

    冒泡排序

    排序:將一組數據按照固定的規則進行排列

    • 冒泡排序:一種排序的方式,對要進行排序的數據中相鄰的數據進行兩兩比較,將較大的數據放在后面,依次對所有的數據進行操作,直至所有數據按要求完成排序

    • 如果有n個數據進行排序,總共需要比較n-1次

    • 每一次比較完畢,下一次的比較就會少一個數據參與

    package test; ? public class MaoPaoDemo {public static void main(String[] args) {int[] arr = {52, 66, 42, 88, 33};String c = arrayToString(arr);System.out.println("排序前:"+c); ?/*如果有n個數據進行排序,總共需要比較n-1次每一次比較完畢,下一次的比較就會少一個數據參與*/for (int x = 0; x < arr.length - 1; x++) {for (int i = 0; i < arr.length - 1 - x; i++) {if (arr[i] > arr[i + 1]) {int temp = arr[i];arr[i] = arr[i + 1];arr[i + 1] = temp;}}}System.out.println("排序后:"+arrayToString(arr));} ? ?//把數組中的元素按照指定的規則組成一個字符串public static String arrayToString(int[] arr) {StringBuilder s = new StringBuilder();s.append("[");for (int i = 0; i < arr.length; i++) {if (i == arr.length - 1) {s.append(arr[i]);} else {s.append(arr[i]).append(",");}}s.append("]");return s.toString();} } //運行結果 排序前:[52,66,42,88,33] 排序后:[33,42,52,66,88]

    更多內容請訪問博主博客:逸樂的博客 - 今晚一起吃火鍋

    文章如有紕漏請指出,整理不易多多包涵。

    Java后續筆記將持續更新........

    總結

    以上是生活随笔為你收集整理的Java笔记 - 黑马程序员_03(继承,修饰符,多态,抽象类,接口,内部类)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    亚洲成熟女人毛片在线 | 在线视频app| 蜜臀91丨九色丨蝌蚪老版 | 久草在线免费资源站 | 丁香九月婷婷 | 综合久久五月天 | 337p西西人体大胆瓣开下部 | 欧美一级在线观看视频 | 国内少妇自拍视频一区 | 97超碰中文字幕 | 国产 日韩 中文字幕 | 正在播放久久 | 一本—道久久a久久精品蜜桃 | 中文字幕制服丝袜av久久 | 伊人婷婷激情 | 天天天天综合 | 久久成人精品电影 | 久久免费国产 | 日本中文字幕在线视频 | 狠狠干夜夜操 | 一区二区三区久久精品 | 久久伊99综合婷婷久久伊 | 精品视频97| 一区二区三区高清在线 | 麻豆手机在线 | 久久精品国产精品亚洲 | 天天干夜夜擦 | 人人爽人人爽人人 | 亚洲专区一二三 | 日韩一级电影网站 | 麻豆视频免费观看 | 国产一区二区视频在线 | 四虎永久免费网站 | 成人a级免费视频 | 在线电影日韩 | 国产免费观看久久黄 | 爱色婷婷| 成人一区影院 | www国产亚洲精品久久网站 | 一区二区成人国产精品 | 亚洲欧美日韩精品久久久 | 欧美日韩色婷婷 | 欧美色婷婷 | 8x成人在线 | 国产美女视频一区 | 亚洲综合视频网 | 亚洲最大av在线播放 | 91精品推荐 | 国产精品久久久久久久久久久久午夜 | 精品中文字幕在线观看 | 国产亚洲精品美女 | 久久久久久久精 | 欧美日韩亚洲一 | 色先锋av资源中文字幕 | 在线观看网站av | 97在线看片| 久久精品一区二区三区国产主播 | 国产黄色片一级三级 | 在线观看中文字幕一区 | 日日草天天草 | 欧美日韩在线网站 | 亚洲精品黄色片 | 色婷婷激情电影 | 久草热久草视频 | 久久免费a | 色大片免费看 | 在线电影日韩 | 一级国产视频 | 免费福利在线观看 | 六月丁香在线视频 | 在线观看午夜av | 91热视频 | 搡bbbb搡bbb视频 | 国产精品av免费在线观看 | 亚洲91av| 九九视频网| 精品国产欧美 | 亚洲精品久久激情国产片 | 精品国产伦一区二区三区 | 日本老少交 | 国产精品一区二区三区免费看 | 精品久久一级片 | 国产高清av| av大全在线| 国产91国语对白在线 | www.久久久久 | 最新av在线免费观看 | 国产精品久久久区三区天天噜 | 免费高清看电视网站 | 久草在线手机视频 | 99亚洲国产 | 成人国产精品久久久春色 | 一区二区三区在线视频111 | 色欧美日韩 | 亚洲天堂网在线视频观看 | 久草在线综合网 | 黄色av电影| 日韩美在线观看 | 九九热免费精品视频 | 日本中文一级片 | 夜夜操天天摸 | 热99久久精品 | 色婷婷激情五月 | 九九九九免费视频 | 超碰在线1 | 国产精品夜夜夜一区二区三区尤 | 视频一区亚洲 | 日韩久久久久 | 日韩三级视频在线观看 | 中文字幕a∨在线乱码免费看 | 人人爽人人爽人人片av免 | 中文字幕在线网址 | 高潮久久久 | 国产一级免费在线 | 欧美天堂视频在线 | 中文字幕影片免费在线观看 | 天天色图| 欧美乱码精品一区二区 | 97在线视频网站 | 日本爱爱免费 | 麻豆视频国产精品 | 国产亚洲精品久久久久久久久久 | 在线国产91 | 精品一区二区免费 | 黄色大片日本 | 国产91精品一区二区绿帽 | 亚洲在线日韩 | 国产成人不卡 | 伊人春色电影网 | 在线播放 日韩专区 | 国产一级电影免费观看 | 久操视频在线播放 | 亚洲 av网站| 色网站黄 | 国产1区在线 | 久久精品视频观看 | 9999毛片 | 91片黄在线观| 蜜臀久久99精品久久久无需会员 | 黄污在线观看 | 国产91精品高清一区二区三区 | zzijzzij亚洲日本少妇熟睡 | 色综合天天综合网国产成人网 | 亚洲va在线va天堂va偷拍 | 成人免费毛片aaaaaa片 | 欧美aⅴ在线观看 | 一区二区av | 色综久久| 四虎4hu永久免费 | 午夜精品视频一区二区三区在线看 | 久久精品久久精品久久39 | 天堂av免费看 | 婷婷色在线 | 亚洲欧美日韩精品久久奇米一区 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 国产不卡精品 | 国产美女精彩久久 | 色噜噜在线观看视频 | 中文久久精品 | 精品国产一区二区三区久久久蜜臀 | 久久久久久久国产精品影院 | 99精品视频在线播放免费 | 久久草草热国产精品直播 | 特级西西444www高清大视频 | 在线久草视频 | 99精品国产99久久久久久福利 | 99久久精品免费看国产 | 日本少妇高清做爰视频 | 日本最新高清不卡中文字幕 | www.久久久| 欧美一级专区免费大片 | 四虎国产精品成人免费4hu | 中文国产成人精品久久一 | 日日夜夜网站 | 黄色精品网站 | 国产一级黄色免费看 | 午夜精品一区二区三区视频免费看 | 国产精品视频永久免费播放 | 亚洲视频axxx | 成人在线免费视频观看 | 日韩精品中文字幕久久臀 | 欧美日韩成人 | 在线激情影院一区 | 久久精品亚洲综合专区 | 亚洲综合一区二区精品导航 | 天天爱天天操天天干 | 久久精品久久精品久久39 | 特级xxxxx欧美 | 国产精品乱码久久久久久1区2区 | 中文字幕a∨在线乱码免费看 | 日本精品久久久久中文字幕5 | 五月花激情 | 久久精品影视 | 91在线小视频 | 成人黄色电影在线 | 精品久久久99 | 欧美日韩免费网站 | 国产69久久精品成人看 | 97在线视频网站 | 日韩欧美视频在线播放 | 久久久免费毛片 | 色婷婷激情四射 | 久久99精品久久只有精品 | 欧美久久久久久久久久久久久 | 日韩sese | 一区二区三区中文字幕在线 | 国产成人综 | 久久精品国产一区二区三区 | 天天操天天色综合 | 久久成人在线视频 | 国产精品国产三级国产aⅴ入口 | 91久久在线观看 | 99成人精品| 97视频人人澡人人爽 | 日本精品久久 | 91综合视频在线观看 | 国产精品久久久久久久久久久久午 | 亚洲理论片在线观看 | 中文字幕在线视频一区二区三区 | 中文字幕一二 | 国产精品视频久久久 | 国内精品免费久久影院 | 亚洲天堂网视频在线观看 | 97av在线视频 | 日韩在线三级 | 麻豆精品传媒视频 | 99自拍视频在线观看 | www黄在线 | 欧美日韩一区二区三区视频 | 日韩视频二区 | 操操操操网| 激情婷婷久久 | 国产精品美女网站 | 91九色国产| 日韩精品一区二区三区在线视频 | 久久久久久久久久久免费av | 久久精品123| 91麻豆精品国产自产在线 | 国产成人久久久77777 | 一区二区三区av在线 | 日韩成年视频 | 亚洲国产精品影院 | 久久久99国产精品免费 | 99久久久久久国产精品 | 色狠狠综合 | 一级成人免费视频 | 精品国产免费人成在线观看 | 美女久久精品 | 日本在线观看一区 | 亚洲免费精彩视频 | 中文字幕在线观看国产 | 91香蕉视频在线 | 国产精品久久久av | 九九精品毛片 | 国产福利在线免费观看 | 一级α片| 在线亚洲天堂网 | 中文字幕av在线电影 | 国产精品一区二区久久精品爱涩 | 在线观看精品一区 | 色婷婷a| 国产视频资源在线观看 | 国产成人精品一区二三区 | 亚洲永久av | 免费在线观看黄 | 国产精品久久久久久久久久久久午夜片 | 一本一本久久aa综合精品 | 91精品国产自产老师啪 | 日韩电影中文 | 日韩一区二区免费在线观看 | 色综合久久久久久久久五月 | 国产一区二区三区免费在线观看 | 国内少妇自拍视频一区 | 九九爱免费视频 | 麻豆系列在线观看 | 五月婷婷狠狠 | 亚洲少妇久久 | 亚洲最大av网 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产美女久久久 | 成人av免费播放 | 日韩在线观看视频在线 | 99国产精品久久久久久久久久 | 亚洲黄色在线 | 国产美女免费看 | 在线观看视频福利 | 日本高清免费中文字幕 | 麻豆精品传媒视频 | 国产精品3区 | 日韩在线观看第一页 | 免费观看性生交大片3 | 国产高清av在线播放 | 中文字幕一区二区三 | 国产成人一区二区精品非洲 | 亚洲永久精品国产 | 国产专区欧美专区 | 日日干干 | 亚洲精品免费在线视频 | 久久福利国产 | 麻豆va一区二区三区久久浪 | 青青河边草观看完整版高清 | 国产最新精品视频 | 免费观看www小视频的软件 | 视色网站 | 成人精品亚洲 | 国产精品久免费的黄网站 | 五月天综合色激情 | 久草视频中文在线 | 日本黄色大片免费看 | 四虎精品成人免费网站 | 色无五月 | 国内三级在线观看 | 中文字幕超清在线免费 | 视频在线91 | 国产精品k频道 | 午夜精品久久久久久久久久久久久久 | 日韩精品视频免费在线观看 | 中文字幕日本在线观看 | 成人欧美一区二区三区在线观看 | 日韩一三区 | 免费av电影网站 | 国产超碰在线观看 | 精品久久91 | 婷婷丁香九月 | 精品伦理一区二区三区 | 最新极品jizzhd欧美 | 免费看黄网站在线 | 久久伊人热| 综合网五月天 | 精品国内自产拍在线观看视频 | 久久久久在线观看 | www色片 | 日韩欧美在线观看一区二区 | 九九视频一区 | 国产黄在线观看 | 可以免费观看的av片 | 四虎欧美 | 男女拍拍免费视频 | 五月天欧美精品 | 久久黄色成人 | 久久久精品视频网站 | 狂野欧美激情性xxxx | 涩涩爱夜夜爱 | 日韩欧美一区二区三区免费观看 | 欧美午夜久久久 | 18岁免费看片 | 欧美激情视频一区 | 人人草在线观看 | 国产三级精品在线 | 日韩视频三区 | 正在播放国产一区二区 | 一区二区三区四区五区六区 | 久草男人天堂 | 久久久免费毛片 | 国产精品网红福利 | 日韩狠狠操 | 天天插天天色 | 久久综合九色九九 | 国产手机av在线 | 久久免费视频网站 | 久久国产电影 | 97色在线观看免费视频 | 免费手机黄色网址 | 黄网站app在线观看免费视频 | 日韩精品中文字幕久久臀 | 久久福利剧场 | 国产一区在线看 | 精品久久久久久久久久 | 久久天堂亚洲 | 久久av免费观看 | 午夜精品久久久久久久爽 | 欧美成人一二区 | 五月花激情 | 欧美性色xo影院 | 国产精品区二区三区日本 | 中文字幕二区三区 | 国产精品久久久久久久免费大片 | 丰满少妇一级 | 天天操天天操天天干 | 久久av在线播放 | 91激情小视频 | 国际精品久久久久 | 国产精品黑丝在线观看 | 久久综合亚洲鲁鲁五月久久 | 久久久精品小视频 | 五月天综合网站 | 91麻豆网站 | 在线免费三级 | 国产麻豆果冻传媒在线观看 | 国产69精品久久app免费版 | 久久国产精彩视频 | 日韩精品中文字幕在线 | 久久国产精品免费一区二区三区 | 亚洲黄网站 | 狠狠插天天干 | 欧美精品黑人性xxxx | 日本一区二区三区免费看 | 伊人久久国产精品 | 韩日精品中文字幕 | 欧美精品在线观看免费 | 国产系列精品av | 91九色成人蝌蚪首页 | 久草网免费 | 国产黄影院色大全免费 | www最近高清中文国语在线观看 | 永久免费的av电影 | 亚洲欧洲精品一区二区 | 人人爱在线视频 | 美女久久一区 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 超碰97公开 | 最近中文国产在线视频 | 久草网免费 | 久久精品视频在线 | 日韩成人在线一区二区 | 国产视频一区精品 | 人人玩人人添人人 | 精品国产伦一区二区三区免费 | 五月婷婷黄色 | 日韩在观看线 | 亚洲韩国一区二区三区 | 国产亚洲情侣一区二区无 | 不卡的一区二区三区 | 狠狠的日| 色婷婷视频在线观看 | 国产在线视频不卡 | sm免费xx网站 | 国产精品无av码在线观看 | 久热色超碰 | 亚洲精品成人av在线 | 色综合夜色一区 | 免费婷婷| 成人小视频在线免费观看 | 日韩在线电影观看 | 视频在线在亚洲 | 日韩精品久久久久久久电影竹菊 | 精品国产一二三四区 | 国产黄色片免费观看 | 国产一二区视频 | 亚洲不卡av一区二区三区 | 在线韩国电影免费观影完整版 | 最新日韩在线 | 香蕉视频在线播放 | 五月天六月丁香 | 国产123av| 天天射天天爱天天干 | 久久久久一区二区三区四区 | 亚洲 欧美 日韩 综合 | 国产精品久久久久久吹潮天美传媒 | 国内精品在线看 | 欧美一级大片在线观看 | 日日天天狠狠 | 天天天干天天射天天天操 | 天天操夜夜摸 | 日日爱av | 国产看片免费 | 国产破处在线播放 | 日韩不卡高清 | 一区中文字幕 | 日本黄色免费在线 | 国产精品美女999 | 黄网站免费久久 | 免费av一级电影 | 日日摸日日爽 | 少妇bbw搡bbbb搡bbbb | 国产精品嫩草影院99网站 | 黄色片视频在线观看 | 最新中文字幕在线观看视频 | 午夜视频一区二区三区 | 日韩三级视频 | 丁香婷婷在线观看 | 成人91免费视频 | 欧美日韩高清免费 | 97超碰人人模人人人爽人人爱 | 18久久久久久 | 中文资源在线官网 | 日韩字幕| 国产一区二区观看 | 中文字幕国产一区二区 | 日日躁你夜夜躁你av蜜 | 成人小电影在线看 | 国产精品视频专区 | 国产免费嫩草影院 | 激情图片qvod | 有码中文字幕在线观看 | 精品国产一区二区三区男人吃奶 | 国产原创av在线 | 亚洲视频一区二区三区在线观看 | 国产最顶级的黄色片在线免费观看 | 亚洲天天摸日日摸天天欢 | 日韩免费电影一区二区三区 | 美女免费视频观看网站 | 国产三级午夜理伦三级 | 久久人视频 | 久久免费电影网 | 日韩在线观看一区二区 | 国产小视频在线 | 国产精品免费在线播放 | 亚洲综合视频在线播放 | 成人在线观看你懂的 | 欧美a级一区二区 | 九九久久久久99精品 | 日韩高清www | 男女视频久久久 | 亚洲区色| www.xxxx欧美 | 欧美日韩国产亚洲乱码字幕 | 精品久久久久久一区二区里番 | 亚洲精品高清在线观看 | 色婷婷在线视频 | 成人久久18免费网站图片 | 国产视频 亚洲精品 | 伊人久久在线观看 | 国产欧美综合在线观看 | 日韩一区正在播放 | 久久午夜鲁丝片 | 一色屋精品视频在线观看 | 精品1区二区 | 碰碰影院 | 99r精品视频在线观看 | 久久久久国产精品一区 | 国产色道 | 欧美,日韩 | 在线观看网站av | 超碰在线观看99 | 麻豆播放 | 97电影在线看视频 | 激情狠狠干 | 亚洲色图激情文学 | 蜜臀久久99精品久久久无需会员 | 日本 在线 视频 中文 有码 | 亚洲经典中文字幕 | 在线视频专区 | 97精品国产91久久久久久久 | 久久三级视频 | 欧美国产大片 | 成人精品久久久 | 2021国产视频 | 欧美性色网站 | 久久曰视频| 97小视频| 日韩高清不卡在线 | 国产精品涩涩屋www在线观看 | 91传媒在线 | 日本成址在线观看 | 亚洲黄色免费电影 | 人人超在线公开视频 | 成人午夜电影免费在线观看 | 日韩一区在线播放 | 91影视成人| 天天玩夜夜操 | 亚洲综合欧美激情 | 国产精品久久久久久久久久三级 | 99久久99久久免费精品蜜臀 | 亚洲欧洲xxxx | 免费看国产曰批40分钟 | 亚洲欧美视频在线 | 亚洲一区二区观看 | 黄网站app在线观看免费视频 | 国产流白浆高潮在线观看 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 在线观看免费黄视频 | 国产美女在线观看 | 中文字幕欲求不满 | 亚洲精品午夜aaa久久久 | 国产高清在线免费视频 | 精品欧美一区二区精品久久 | 亚洲精品在线观看av | 在线综合 亚洲 欧美在线视频 | 国产在线精品区 | 奇米影视777四色米奇影院 | 国产综合福利在线 | 波多野结衣电影一区 | 日韩一级电影在线 | 久久久在线 | 色婷婷啪啪免费在线电影观看 | 国产午夜精品av一区二区 | 能在线看的av| 色综合五月 | 欧美性生活久久 | 日韩久久精品一区二区三区 | 国内成人精品2018免费看 | 中文字幕黄色网 | 日韩中文免费视频 | 麻豆视频免费播放 | 日本bbbb摸bbbb | 精品在线一区二区三区 | 国产亚洲成人网 | 国产无吗一区二区三区在线欢 | 亚洲丁香日韩 | 欧美极品xxxxx | 久久国产精品久久精品国产演员表 | 色网站黄 | 国产破处视频在线播放 | 国产在线观看污片 | 日韩中文字幕在线观看 | 五月婷婷开心 | www夜夜操com| 91av99| 激情五月婷婷综合网 | 黄色成人在线网站 | 欧美一二三区在线播放 | 在线黄频 | 日本中文一区二区 | 色吊丝在线永久观看最新版本 | 狠狠色狠狠色综合日日小说 | 国产高清视频免费 | 一区二区伦理电影 | av天天干 | 国产欧美精品一区二区三区四区 | 亚洲一区二区视频 | 91av在线精品 | 国产精品99久久免费观看 | 国产精品久久久久久久久久ktv | 国产精品18久久久久vr手机版特色 | 91麻豆免费版 | 精品国产亚洲一区二区麻豆 | 深爱激情五月网 | 波多野结衣视频一区二区三区 | 日韩中文字幕在线 | 涩涩网站在线 | 亚洲日本中文字幕在线观看 | 97精品国产97久久久久久粉红 | 色诱亚洲精品久久久久久 | 国产精品成人自拍 | 一区二区三区日韩在线 | 在线免费观看黄 | 香蕉网在线观看 | 日本久久久精品视频 | 日韩黄色影院 | 九九综合九九 | 在线观看亚洲a | 色播五月激情综合网 | 又黄又刺激的视频 | 99久久日韩精品视频免费在线观看 | 91在线看黄 | 国产精品一区二区久久久久 | 在线视频你懂得 | 黄色.com| 操操色 | 玖玖999| 91九色视频在线播放 | 精品国产aⅴ麻豆 | 一级性av| 亚洲狠狠| 欧美日韩中文字幕视频 | 精品影院 | 国产精品永久在线观看 | 99re国产视频 | 国产流白浆高潮在线观看 | 在线播放精品一区二区三区 | 日韩欧美一区二区在线播放 | 久久久久久高潮国产精品视 | 成人羞羞免费 | 国产精品理论片在线观看 | 久久好看 | 日本不卡123 | 国产资源网 | 91福利影院在线观看 | 国产在线精品视频 | 在线涩涩 | 久久网站最新地址 | 国产精品自在线 | 色偷偷网站视频 | 国产视频2| 久久五月天婷婷 | 91精品免费 | 中文理论片 | 成人国产在线 | 国产色视频一区二区三区qq号 | 最近中文字幕久久 | 综合色综合色 | 97免费中文视频在线观看 | 韩国一区在线 | 欧美成人xxxxx | 天无日天天操天天干 | 婷婷视频在线观看 | 狠狠色香婷婷久久亚洲精品 | 国产无套精品久久久久久 | 久草在线最新免费 | 亚洲精品中文字幕在线观看 | 欧美性大战久久久久 | 最近最新中文字幕 | 日韩三级.com | 99精品色 | 久久99热这里只有精品国产 | 91中文字幕永久在线 | 狠狠色狠狠综合久久 | 久久免费电影网 | 伊人网av | 在线视频麻豆 | 欧美日韩国产一二三区 | 久草在线最新免费 | 91成年人在线观看 | 日韩动态视频 | 国产中文字幕视频在线 | 免费十分钟 | 中文区中文字幕免费看 | 69精品视频| 日韩大片在线免费观看 | 黄色动态图xx | 午夜手机电影 | 久99久精品视频免费观看 | www.久久免费视频 | 久久久穴 | 天天操夜夜摸 | 成人免费看电影 | 久久久免费精品国产一区二区 | 天天干天天干天天 | 色视频 在线 | 四虎影视av | 国产免费视频一区二区裸体 | 日韩小视频网站 | 毛片美女网站 | 日韩字幕| 日韩美精品视频 | 毛片美女网站 | 久久久久久久久久福利 | 久久久美女| 特黄特色特刺激视频免费播放 | 中文字幕成人在线观看 | 美女黄频在线观看 | 欧美a性| 免费看高清毛片 | 最新午夜 | av高清一区二区三区 | 在线观看成人网 | 狠狠干五月天 | 免费高清男女打扑克视频 | 中文字幕色婷婷在线视频 | 亚洲精品视频免费观看 | av免费观看网站 | av免费播放 | 亚洲黄色小说网址 | 人人干天天干 | 国产伦精品一区二区三区… | 久久久精品 一区二区三区 国产99视频在线观看 | 黄色免费网站 | 免费观看黄色12片一级视频 | 亚洲综合视频在线播放 | av永久网址 | 一区二区三区免费看 | 久久精品日产第一区二区三区乱码 | 久久久久亚洲天堂 | 99视频免费观看 | 日日夜夜网站 | 久久观看免费视频 | 久久久久久久久影院 | 久久99亚洲精品久久 | 6080yy午夜一二三区久久 | 日本中文乱码卡一卡二新区 | 97操操操 | 色综合五月天 | 精品久久久久久一区二区里番 | 国产成人精品一区二区三区福利 | 中文字幕电影网 | 久久精品99北条麻妃 | 久99久精品视频免费观看 | 99r精品视频在线观看 | 黄色美女免费网站 | 最近2019年日本中文免费字幕 | 97超碰色 | 久久国产午夜精品理论片最新版本 | 国产精品九九久久久久久久 | 午夜视频欧美 | 久久久在线免费观看 | 五月婷婷视频在线 | 在线观看av大片 | 91精品人成在线观看 | 久久无码精品一区二区三区 | 久久av电影 | 国产亚洲精品久久久久动 | 国产在线日本 | 中文字幕 第二区 | 超碰在线人人 | 国产精品ⅴa有声小说 | 亚洲在线高清 | 91香蕉视频黄色 | 99久久婷婷国产综合亚洲 | 久草在线最新 | 国产精品视频内 | 亚洲国产精品999 | 在线看片一区 | 欧美91视频 | 日韩精品久久久久 | 国产精品免费久久久久影院仙踪林 | 一区二区日韩av | 国产中文| 天堂入口网站 | 在线观看色网站 | 最近中文字幕高清字幕免费mv | 亚洲精品在线视频 | 久久精国产| 久久免费黄色 | 五月天色丁香 | 黄色www免费 | 中文字幕亚洲欧美日韩2019 | 久久乐九色婷婷综合色狠狠182 | 国产一区二区久久精品 | 久草在线免费资源 | 国产高清在线视频 | 国产97视频在线 | 久久久久国产一区二区三区四区 | 九草视频在线观看 | 丝袜一区在线 | 久久 精品一区 | 婷婷亚洲最大 | 色噜噜日韩精品一区二区三区视频 | 午夜三级福利 | 欧美一区二区日韩一区二区 | 一区二区三区四区五区六区 | 美女视频黄免费网站 | 麻豆va一区二区三区久久浪 | 日韩av区| 手机av在线免费观看 | 超碰人人做 | 天天操夜操视频 | 日韩在线观看电影 | 日韩网站在线看片你懂的 | 香蕉视频最新网址 | 碰超在线 | 超碰97网站 | 久久综合九色综合97_ 久久久 | 国产精品porn | 国产精品久久久久久久久久东京 | 国产91对白在线 | 免费www视频 | 中文字幕在线中文 | 国产福利免费看 | 不卡视频国产 | 欧美久久久久久久久久 | 91视频-88av| 欧美 日韩 国产 成人 在线 | 色综合小说 | 91天天操 | 一区二区网 | 激情丁香 | 91九色成人蝌蚪首页 | 久久久久久久精 | 亚洲欧洲中文日韩久久av乱码 | 亚洲综合视频网 | 成人av在线亚洲 | 91精选在线 | 日本三级久久久 | 色综合久久66 | 亚州精品天堂中文字幕 | 中文字幕免费一区 | 在线成人中文字幕 | 国产精品激情在线观看 | 一二区电影| 国产91av视频在线观看 | 99re国产视频 | 久久久久久国产精品美女 | 国产精品毛片一区二区三区 | 亚洲精品久久久久999中文字幕 | 91中文字幕 | 国产精品久久久久久久久软件 | 精品嫩模福利一区二区蜜臀 | 狠狠久久综合 | 亚洲最新av在线 | av理论电影 | 三级黄色免费片 | 国产色爽 | 久久99精品久久久久久 | 国产在线不卡 | 国产日韩三级 | 一区二区视频电影在线观看 | 亚洲涩涩涩 | 久久综合久久综合九色 | 在线观看自拍 | 免费看片网址 | 亚洲 欧美变态 另类 综合 | 成人影视片 | 日本丰满少妇免费一区 | 天天拍天天爽 | 免费福利在线视频 | 日韩精品免费一区 | a v在线观看 | 久久午夜网 | 久久成熟 | 99久久99久久免费精品蜜臀 | 久久免费黄色 | 欧美成人tv | 成年人国产精品 | 久久不卡国产精品一区二区 | 一区二区三区在线免费观看 | 久av在线 | 久久a久久 | 亚欧洲精品视频在线观看 | 六月色婷| 亚洲成人高清在线 | 国产香蕉视频在线播放 | 欧美精品乱码久久久久 | 日韩欧美一级二级 | 992tv在线成人免费观看 | 日韩二区在线 | 免费观看www视频 | 91网站在线视频 | 青青河边草免费观看 | 久久精视频 | 久久黄色精品视频 | 欧美久久电影 | 国产小视频在线 | 天天色天天操综合 | 少妇超碰在线 | 久久国产精品二国产精品中国洋人 | 国产精品9999| av免费试看 | 亚洲 综合 国产 精品 | 久久亚洲综合国产精品99麻豆的功能介绍 | 在线播放精品一区二区三区 | 亚洲日本va午夜在线电影 | 美女国内精品自产拍在线播放 | 亚洲国产97在线精品一区 | 成人三级网站在线观看 | 国产精品麻豆视频 | 91麻豆精品国产91久久久无需广告 | 激情婷婷丁香 | 久久亚洲美女 | 久久人人看| 亚洲妇女av | 国产精品久久久区三区天天噜 | 国产精品成人品 | 午夜美女福利 | 五月天综合网站 | 欧美91精品 | 精品国产一区二区三区在线观看 | 日韩视频免费在线观看 | 中文字幕免费高清 | 91网站在线视频 | 五月天中文在线 | 亚洲成av人影片在线观看 | 福利电影久久 | 亚洲v精品 | 中文字幕高清视频 | 在线91网| 国产精品一区电影 | 中文字幕乱在线伦视频中文字幕乱码在线 | 91九色视频在线 | 狠狠久久 | 亚洲欧美日韩一区二区三区在线观看 | 成人在线免费看视频 | 久久久 激情 | 国产精品18久久久久久不卡孕妇 | 天天看天天操 | 久久天堂影院 | 人人狠狠综合久久亚洲 | 2023av在线 | 日韩伦理片一区二区三区 | 色婷婷av一区 | 亚洲视频精品 | 97av精品| 区一区二区三在线观看 | 午夜av日韩 | aaawww| 国产乱对白刺激视频不卡 | 波多野结衣一区三区 | 国产精品久久久免费看 | 一二三久久久 | 午夜三级影院 | 亚洲成人二区 | 久久亚洲福利视频 | 在线电影日韩 | 99在线热播精品免费 | av中文字幕不卡 | 国产精品完整版 | 激情综合亚洲精品 | 久久人人爽爽 | www夜夜操| 网站在线观看日韩 | 国产一区视频在线观看免费 | 久久久久成人精品免费播放动漫 | 日韩最新在线 | 日韩精品一区二区三区外面 | 97国产情侣爱久久免费观看 | www.五月激情.com | 精品在线视频一区二区三区 | 在线免费观看av网站 | 99综合视频 | 国产一区二区视频在线 | av在线成人 | 久久99精品久久久久久三级 | 成人在线视频免费看 | 综合国产视频 | 男女男视频 | 久久露脸国产精品 | av在线影片 | 久久久国产一区二区 | 日韩精品aaa | 精品国产乱码一区二区三区在线 | 久久久久久久福利 | 在线观看第一页 | 亚洲成人资源在线观看 | 国产一二三四在线观看视频 | 天天射天天操天天色 | 欧美另类高清 | 日韩欧美国产免费播放 | www.97视频 |