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

歡迎訪問 生活随笔!

生活随笔

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

java

Java实验03 面向对象(下)

發布時間:2024/1/18 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java实验03 面向对象(下) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗三 面向對象(下)
實驗3-1 類的繼承
一、實驗描述
1、 考核知識點
名稱:類的繼承
2、 練習目標
? 了解類繼承的意義和作用
? 掌握如何實現類的繼承
3、 需求分析
在程序中,繼承描述的是事物之間的所屬關系,通過繼承可以使多種事物之間形成一種關系體系。
為了讓初學者熟悉類的繼承,本實驗將演示類的繼承并編寫測試類驗證子類是否擁有父類的可繼承成員。
4、 設計思路(實現原理)
1)設計兩個類Student和Teacher
2)抽取兩個類共同的內容(如:吃飯、睡覺)封裝到一個類Person中,各自特有的部分保留在各自類中。
3)讓學生類繼承Person類,老師類也繼承Person。
4)編寫測試類Example01,測試Student類和Teacher是否繼承了Person類的成員。

二、實驗實現
1、抽取父類Person,實現繼承關系,代碼如下:

class Person{String name;int age;public void eat(){System.out.println(name + "在吃飯");}public void sleep(){System.out.println(name + "在睡覺");} }

2、定義測試類Example01,代碼如下:

package Example01;class Person{String name;int age;public void eat(){System.out.println(name + "在吃飯");}public void sleep(){System.out.println(name + "在睡覺");} }class Student extends Person{public Student(String name,int age){this.name = name;this.age = age;}public void speak(){System.out.println("我叫"+this.name+"我今年"+age+"歲了,我是一個學生。");} }class Teachar extends Person{public Teachar(String name,int age){this.name = name;this.age = age;}public void speak(){System.out.println("我叫"+this.name+"我今年"+age+"歲了,我是一個老師。");} }public class Example01 {public static void main(String[] args) {Student s = new Student("小明",18);Teachar t = new Teachar("大明",25);s.speak();s.eat();s.sleep();t.speak();t.eat();t.sleep();} }

運行結果如圖3-1所示。

圖3-1 運行結果
三、實驗總結
1、在Java中,多個類可以繼承一個父類,但是一個類不能直接繼承多個類,一個類只能有一個直接父類。
2、父類是由子類不斷抽取而來的,不斷地抽取就形成了體系結構,這個結構稱為繼承體系結構。
3、子類在繼承父類的時候,會自動擁有父類所有的成員。
4、繼承的好處是劃分了類的層次性,實現了代碼重用、擴展了程序功能。
實驗3-2 方法的重寫
一、實驗描述
1、 考核知識點
名稱:方法的重寫
2、 練習目標
? 了解方法重寫的意義和作用
? 掌握如何進行方法重寫
3、 需求分析
在繼承關系中,子類會自動繼承父類中定義的方法,但有時在子類中需要對繼承的方法進行一些
修改,即對父類的方法進行重寫。為了讓初學者掌握方法的重寫,本實驗將編寫一個類NewPhone,該類繼承Phone類并對Phone類的call()方法進行重寫。
4、 設計思路(實現原理)
1)定義一個類Phone,編寫方法call(),表示打電話功能
2)定義一個Phone的子類NewPhone,重寫父類call()方法,讓它除了打電話功能外還具有開啟語言和關閉語言功能。
3)編寫一個測試類Example02,分別調用重寫前和重寫后的call()方法
二、實驗實現
1、定義Phone及其子類NewPhone,子類對父類中的call()方法重寫,代碼如下:

class Phone{public void call(){System.out.println("輸入:1.打電話");Scanner in = new Scanner(System.in);int flag = in.nextInt();if(flag == 1){System.out.println("正在打電話");}} }class NewPhone extends Phone{public void call(){System.out.println("輸入:1.打電話,2.開啟語言功能,3.關閉語言功能");Scanner in = new Scanner(System.in);int flag = in.nextInt();if(flag == 1){System.out.println("正在打電話!");}else if(flag == 2){System.out.println("開啟語言功能成功!");}else if(flag == 3){System.out.println("關閉語言功能成功!");}} }

2、定義測試類Example02,代碼如下:

package Example02;import java.util.Scanner;class Phone{public void call(){System.out.println("輸入:1.打電話");Scanner in = new Scanner(System.in);int flag = in.nextInt();if(flag == 1){System.out.println("正在打電話");}} }class NewPhone extends Phone{public void call(){System.out.println("輸入:1.打電話,2.開啟語言功能,3.關閉語言功能");Scanner in = new Scanner(System.in);int flag = in.nextInt();if(flag == 1){System.out.println("正在打電話!");}else if(flag == 2){System.out.println("開啟語言功能成功!");}else if(flag == 3){System.out.println("關閉語言功能成功!");}} }public class Example02 {public static void main(String[] args) {Phone p = new Phone();NewPhone n = new NewPhone();System.out.println("Phone類測試");p.call();System.out.println("NewPhon類測試");n.call();} }

運行結果如圖3-2所示。

圖3-2 運行結果
三、實驗總結
1、子類中需要對繼承自父類的方法進行一些修改,這時就用到方法重寫。
2、在子類中重寫的方法需要和父類被重寫的方法具有相同的方法名、參數列表以及返回值類型。
3、子類方法的訪問修飾權限不能小于父類的。
4、重寫的主要優點是能夠定義子類特有的特征。
實驗3-3 super訪問父類成員變量
一、實驗描述
1、 考核知識點
名稱:super關鍵字
2、 練習目標
? 掌握使用super關鍵字訪問父類成員變量
3、 需求分析
子類可以繼承父類的非私有成員變量,如果在子類中修改了繼承自父類的成員變量的值,再想要訪問父類的該成員變量時,可以通過super.成員變量來實現。為了讓初學者熟悉super關鍵字的用法,本實驗將分別設計Fu類及其子類Zi,并在Zi類的方法中使用super關鍵字訪問Fu類的成員變量。
4、 設計思路(實現原理)
1)編寫一個Fu類,在類中定義無參構造和一個初始值為20的num成員變量。
2)Zi類繼承Fu類,在子類中對num值進行了修改,同時在子類中定義無參構造和一個無返回值的method()方法,method()方法中使用super關鍵字調用了Fu類的num成員變量。
3)定義測試類Example03。

二、實驗實現
1、編寫Fu類及其子類Zi,在Zi類中使用super關鍵字調用Fu類成員變量,代碼如下

class Fu{int num = 20;public Fu(){} }class Zi extends Fu{public Zi() {}int num = 10;public void method(){System.out.println(super.num);} }

2、定義測試類Example03,代碼如下:

package Example03;class Fu{int num = 20;public Fu(){} }class Zi extends Fu{public Zi() {}int num = 10;public void method(){System.out.println("super.num = "+super.num);} }public class Example03 {public static void main(String[] args) {Fu f = new Fu();Zi z = new Zi();System.out.println("父類中的num = "+f.num);System.out.println("子類中的num = "+z.num);z.method();} }

運行結果如圖3-3所示。

圖3-3 運行結果
三、實驗總結
1、使用super關鍵字調用父類的成員方法。具體格式如下:
super.成員變量
2、被調用的父類成員變量,必須是非private的。
實驗3-4 super訪問父類成員方法
一、實驗描述
1、 考核知識點
名稱:super關鍵字
2、 練習目標
? 掌握使用super關鍵字訪問父類成員方法
3、 需求分析
子類重寫父類的方法后,子類對象將無法訪問父類被重寫的方法,為了解決這個問題,在Java中專門提供了一個super關鍵字用于訪問父類的成員。為了讓初學者熟悉super關鍵字的用法,本實驗將分別設計Fu類及其子類Zi,在Zi類的方法中使用super關鍵字訪問Fu類的成員方法。
4、 設計思路(實現原理)
1)編寫一個Fu類,在類中定義無參構造和一個無返回值的show()方法。
2)Zi類繼承Fu類,子類中定義無參構造和一個無返回值的method()方法,method()方法中使用super關鍵字調用了Fu類的show()方法。
3)定義測試類Example04。
二、實驗實現
1、編寫Fu類及其子類Zi,在Zi類中使用super關鍵字調用Fu類成員方法,代碼如下:

class Fu{public Fu(){}public void show(){System.out.println("執行了Fu類show()方法");} }class Zi extends Fu {public Zi() {}public void method(){System.out.println("調用了super.show()方法");super.show();} }

2、定義測試類Example04,代碼如下:

package Example04;class Fu{public Fu(){}public void show(){System.out.println("執行了Fu類show()方法");} }class Zi extends Fu {public Zi() {}public void method(){System.out.println("調用了super.show()方法");super.show();} }public class Example04 {public static void main(String[] args) {Fu f = new Fu();Zi z = new Zi();System.out.println("調用父類中的show()方法");f.show();System.out.println("調用子類中的method()方法");z.method();} }

運行結果如圖3-4所示。

圖3-4 運行結果
三、實驗總結
1、使用super關鍵字調用父類的成員方法。具體格式如下:
super.成員方法([參數1,參數2…])
2、被調用的父類成員方法,必須是非private的。
實驗3-5 super訪問父類構造方法
一、實驗描述
1、 考核知識點
名稱:super關鍵字
2、 練習目標
? 掌握如何在子類構造方法中使用super關鍵字訪問父類構造方法
3、 需求分析
在子類的構造方法中一定會調用父類的某個構造方法,如果想指定調用類父類中的哪個構造方法,可以使用super關鍵字來實現。為了讓初學者掌握super關鍵字的用法,本實驗將分別設計Fu類及其子類Zi,在Zi類的構造方法中使用super關鍵字訪問Fu類的構造方法。
4、 設計思路(實現原理)
1)編寫一個Fu類,在類中定義無參構造。
2)Zi類繼承Fu類,子類中也定義無參構造方法,在構造方法中使用super關鍵字調用Fu類的構造方法。
3)定義測試類Example05。
二、實驗實現
1、編寫Fu類及其子類Zi,在Zi類構造中使用super關鍵字調用Fu類構造方法,代碼如下:

class Fu{public Fu(){System.out.println("調用了Fu類的構造方法。。。");} }class Zi extends Fu {public Zi() {super();System.out.println("調用了Zi類的構造方法。。。");} }

2、定義測試類Example05,代碼如下:

package Example05;class Fu{public Fu(){System.out.println("調用了Fu類的構造方法。。。");} }class Zi extends Fu {public Zi() {super();System.out.println("調用了Zi類的構造方法。。。");} }public class Example05 {public static void main(String[] args) {System.out.println("實例化Fu對象");Fu f = new Fu();System.out.println("實例化Zi對象");Zi z = new Zi();} }

運行結果如圖3-5所示。

圖3-5 運行結果
三、實驗總結
1、通過super調用父類構造方法的代碼必須位于子類構造方法的第一行,并且只能出現一次。
2、在子類的構造方法中通過super指定調用父類的哪個構造方法,如果沒有指定,在實例化子類對象時,會自動調用父類無參的構造方法。
3、被調用的父類構造方法,必須是非private的。
實驗3-6 final修飾類
一、實驗描述
1、 考核知識點
名稱:final關鍵字
2、 練習目標
? 了解final關鍵字修飾類的特點
? 掌握final關鍵字修飾類的用法
3、 需求分析
Java中的類被final關鍵字修飾后,該類將不可以被繼承,也就是不能夠派生子類。為了讓初學者熟悉final關鍵字修飾類的用法,本實驗將分別設計兩個類,一個是使用final關鍵字修飾的Fu類,另一個是繼承Fu類的Zi類,驗證final關鍵字修飾的類是否能被繼承。
4、 設計思路(實現原理)
1)編寫一個final關鍵字修飾的Fu類,類體可以為空
2)編寫Zi類,Zi類繼承于Fu類,類體可以為空
3)定義測試類Example06。
二、實驗實現
1、編寫final修飾的Fu類,Zi類繼承Fu類,代碼如下:

final class Fu{public Fu(){System.out.println("調用了Fu類的構造方法。。。");} }class Zi extends Fu {public Zi() {System.out.println("調用了Zi類的構造方法。。。");} }

2、定義測試類Example06,代碼如下:

package Example06;final class Fu{public Fu(){System.out.println("調用了Fu類的構造方法。。。");} }class Zi extends Fu {public Zi() {System.out.println("調用了Zi類的構造方法。。。");} }public class Example06 {public static void main(String[] args) {System.out.println("實例化Fu對象");Fu f = new Fu();System.out.println("實例化Zi對象");Zi z = new Zi();} }

運行結果如圖3-6所示。

圖3-6 運行結果
三、實驗總結
在Java中,被final關鍵字修飾的類為最終類,不能被其它類繼承。
實驗3-7 final修飾方法
一、實驗描述
1、 考核知識點
名稱:final關鍵字
2、 練習目標
? 掌握使用final關鍵字修飾方法
3、 需求分析
子類可以繼承父類的成員方法,并在必要時對方法進行重寫,增加了方法的擴展的同時也打破了方法的封裝,如果我們希望父類中的某些方法不能被重寫,這時就可以使用final關鍵字來修飾。為了讓初學者掌握使用final關鍵字修飾方法,本實驗將分別設計兩個類,一個是Fu類,其中定義了final修飾的show()方法,另一個是繼承Fu類的Zi類,在Zi類中對show()方法進行重寫。
4、 設計思路(實現原理)
1)編寫一個Fu類,類中定義final修飾的show()方法。
2)編寫Zi類,Zi類繼承于Fu類,在Zi類中對show()方法進行重寫
3)定義測試類Example07,創建Zi類對象,并調用Zi類show()方法。
二、實驗實現
1、編寫Fu類及其子類Zi類,在Zi類中對show()方法重寫,代碼如下:

class Fu{public Fu(){System.out.println("調用了Fu類的構造方法。。。");}public final void show(){System.out.println("執行了Fu類show()方法");} }class Zi extends Fu {public Zi() {System.out.println("調用了Zi類的構造方法。。。");}public void show(){System.out.println("執行了Zi類show()方法");} }

2、定義測試類Example07,代碼如下:

package Example07;class Fu{public Fu(){System.out.println("調用了Fu類的構造方法。。。");}public final void show(){System.out.println("執行了Fu類show()方法");} }class Zi extends Fu {public Zi() {System.out.println("調用了Zi類的構造方法。。。");}public void show(){System.out.println("執行了Zi類show()方法");} }public class Example07 {public static void main(String[] args) {System.out.println("實例化Fu對象");Fu f = new Fu();System.out.println("實例化Zi對象");Zi z = new Zi();System.out.println("調用Zi類的show()方法");z.show();} }

運行結果如圖3-7所示。

圖3-7 運行結果
三、實驗總結
當一個類的方法被final關鍵字修飾后,這個類的子類將不能重寫該方法。
實驗3-8 final修飾局部變量
一、實驗描述
1、 考核知識點
名稱:final關鍵字
2、 練習目標
? 掌握使用final關鍵字修飾局部變量
3、 需求分析
Java中被final修飾的變量為常量,它只能被賦值一次,也就是說final修飾的變量一旦被賦值,其值不能改變。為了讓初學者掌握使用final關鍵字修飾局部變量,本實驗將在類的方法中定義一個final修飾的局部變量,并試著對該變量重新賦值。
4、 設計思路(實現原理)
1)編寫一個Example08類,類中定義類一個final修飾的局部變量age,為其賦初始值為18。
2)為age重新賦值為20。
二、實驗實現
1、編寫類Example08,代碼如下

package Example08;public class Example08{final static int age = 18;public static void main(String[] args) {age = 20;} }

編譯錯誤,如圖3-8所示。

圖3-8 錯誤提示
三、實驗總結
final修飾的變量表示常量,一經定義就不能重新賦值。

實驗3-9 final修飾成員變量
一、實驗描述
1、 考核知識點
名稱:final關鍵字
2、 練習目標
? 掌握使用final關鍵字修飾成員變量
3、 需求分析
在Java中,final修飾的變量表示常量,一經定義就不能重新賦值。為了讓初學者熟悉final修飾變量的情況,本實驗將使用final關鍵字修飾成員變量,觀察其是否能夠再次賦值。
4、 設計思路(實現原理)
1)編寫一個Fu類,父類中定義一個變量X,并用final關鍵字修飾變量。
2)編寫Zi類,Zi類繼承于Fu類,在子類中對常量再賦新值。
3)定義測試類Example09,觀察運行結果。
二、實驗實現
1、編寫Fu類及其子類Zi類,在Zi類中對X再賦值,代碼如下:

class Fu{public final int x = 12; }class Zi extends Fu {public void show(){x = 11;System.out.println(x);} }

2、定義測試類Example09,代碼如下:

package Example09;class Fu{public final int x = 12; }class Zi extends Fu {public void show(){x = 11;System.out.println(x);} }public class Example09 {public static void main(String[] args) {Fu f = new Fu();Zi z = new Zi();z.show();} }

編譯錯誤,結果如圖3-9所示。

圖3-9 錯誤提示
三、實驗總結
在本實驗中Zi類中對變量X再次賦值,運行結果報錯。這是因為Java中被final修飾的變量為常量,它只能被賦值一次,也就是說final修飾的變量一旦被賦值,其值不能改變。如果再次對該變量進行賦值,則程序會在編譯時報錯。
實驗3-10 接口的實現
一、實驗描述
1、 考核知識點
名 稱:接口
2、 練習目標
? 掌握如何實現接口
3、 需求分析
由于接口中的方法都是抽象方法,因此不能通過實例化對象的方式來調用接口中的方法。此時需要定義一個類,并使用implements關鍵字實現接口中所有的方法。為了讓初學者掌握如何實現接口,本實驗將設計一個類,使用關鍵字implements實現Inter接口中的方法。
4、 設計思路(實現原理)
1)設計名為Inter的接口,接口中定義一個初始值為20的num常量和method()抽象方法。
2)編寫Inter接口的實現類InterImpl,使用implements關鍵字實現接口中的方法。
3)編寫測試類Example10,測試類中對接口的實現類進行實例化,并調用接口中的方法。
二、實驗實現
1、編寫接口Inter,InterImpl類使用implements實現了接口,代碼如下:

interface Inter{int num = 20;void method(); }class InterImpl implements Inter{public void method() {System.out.println("調用了在InterImpl類里實現的Inter接口里的method()方法");} }

2、定義測試類Example10,代碼如下:

package Example10;interface Inter{int num = 20;void method(); }class InterImpl implements Inter{public void method() {System.out.println("調用了在InterImpl類里實現的Inter接口里的method()方法");} }public class Example10 {public static void main(String[] args) {InterImpl i = new InterImpl();System.out.println("Inter里的num = " + i.num);i.method();} }

運行結果如圖3-10所示。

圖3-10 運行結果
三、實驗總結
1、接口使用interface關鍵字來定義。
2、接口沒有構造方法,接口中的變量缺省都是使用public static final修飾的,即全局常量,接口中的方法都是public abstract修飾的,即抽象方法。
3、定義一個類,并使用implements關鍵字實現接口中的方法,一個類可以實現多個接口。
4、由于接口中的方法都是抽象方法,因此不能直接通過實例化對象的方式來調用接口中的方法,需要在類實現接口后借助類來間接實例化。
實驗3-11 接口的繼承
一、實驗描述
1、 考核知識點
名 稱:接口的繼承與多實現
2、 練習目標
? 掌握接口繼承的方式及其特點
3、 需求分析
在程序中,可以定義一個接口使用extends關鍵字去繼承另一個接口。為了加深初學者對結果的理解,本實驗將演示接口與接口、類與接口的繼承和實現關系。
4、 設計思路(實現原理)
1)設計接口Phone代表傳統手機,在接口中定義receiveMessages()和call()抽象方法。
2)設計接口SmartPhone代表智能手機,在接口中定義faceTime()方法,并使用extends關鍵字繼承Phone接口,使其具有Phone接口的所有功能。
3)設計類MIPhone表示小米手機,類中定義useMIUI()方法,并實現SmartPhone接口的所有方法。
4)編寫測試類Example11,測試類中對MIPhone進行實例化,并訪問小米手機具有的各種功能。
二、實驗實現
1、編寫接口Phone和SmartPhone、類MIPhone。代碼如下:

package Example11;interface Phone{void receiveMessages();void call(); }interface SmartPhone extends Phone {void faceTime(); }class MIPhone implements SmartPhone{public void useMIUI(){System.out.println("調用了useMIUI()方法。。。");}public void receiveMessages(){System.out.println("調用了receiveMessages()方法。。。");}public void call(){System.out.println("調用了call()方法。。。");}public void faceTime(){System.out.println("調用了faceTime()方法。。。");} }public class Example11 {public static void main(String[] args) {MIPhone m = new MIPhone();m.useMIUI();m.call();m.receiveMessages();m.faceTime();} }

運行結果如圖3-11所示。

圖3-11 運行結果
三、實驗總結
接口與接口之間的繼承關系,可以是單繼承,也可以是多繼承;一個接口可以通過extends關鍵字繼承多個接口,接口之間用逗號隔開。
實驗3-12 Object類
一、實驗描述
1、 考核知識點
名 稱:Object類
2、 練習目標
? 了解什么是Object類
? 掌握Object類中常用方法的使用
3、 需求分析
在JDK中提供了一個Object類,它是所有類的父類,即每個類都直接或間接繼承自該類。Object類自身的equals()方法比較的是內存地址值,相當于“”,但是在實際開發中我們很少比較兩個對象的地址值,這時候常常就需要根據自身需求來重寫equals()方法。為了方便初學者學習Object類,本實驗將演示如何重寫equals()方法。
4、 設計思路(實現原理)
1)設計Student類,定義sid變量表示學號,重寫equals()方法,判斷進行比較的兩個學生對象學號是否相同,相同即為同一個學生,否則不是。
2)編寫測試類Example12,創建兩個Student的對象Lily和Lucy,并分別調用setter方法為學號賦值,最后通過打印語句,輸出這兩個對象通過“”和重寫后的equals()方法比較后的結果。
二、實驗實現
1、編寫Student類,重寫equals()方法。代碼如下:

class Student{private int sid;public void setter(int sid){this.sid = sid;}public boolean equals(Student s){if(this.sid == s.sid) return true;else return false;} }

2、定義測試類Example12,為學號賦值,并打印使用“==”和重寫equals()方法的比較結果,代碼如下:

package Example12;class Student{private int sid;public void setter(int sid){this.sid = sid;}public boolean equals(Student s){if(this.sid == s.sid) return true;else return false;} }public class Example12 {public static void main(String[] args) {Student Lily = new Student();Student Lucy = new Student();Lily.setter(123456);Lucy.setter(123456);System.out.println("Lily 和 Lucy 的學號均為 123456");System.out.println("Lily.equals(Lucy) = "+Lily.equals(Lucy));System.out.println("Lily == Lucy = "+(Lily == Lucy));} }

運行結果如圖3-12所示。

圖3-12 運行結果
三、實驗總結
1、Object類是Java中所有類的父類,每個類都直接或間接繼承自該類。
2、Object類中的equals()方法比較的是內存地址值,和“==”比較結果一致。底層代碼如下:
public boolean equals(Object obj) {
return (this == obj);
}
實際開發中很少比較內存地址值,所以我們常常會根據自身需求重寫equals()方法。
實驗3-13 多態的作用
一、實驗描述
1、 考核知識點
名 稱:多態
2、 練習目標
? 了解多態的概念、多態的好處和弊端
? 掌握如何實現多態
3、 需求分析
在Java中為了實現多態,允許使用一個父類類型的變量來引用一個子類類型的對象,根據被引用子類對象特征的不同,得到不同的運行結果。多態提高代碼了的擴展性和可維護性。為了幫助初學者掌握如何實現多態,本實驗將實現一個多態程序來演示如何實現多態。
4、 設計思路(實現原理)
1)編寫Animal接口,接口中定義sleep()方法。
2)Cat類實現Animal接口的方法,并定義另一個方法catchMouse()
3)編寫測試類Example13,使Cat對象指向父類Animal的引用 ,并通過該引用調用sleep()方法。
二、實驗實現
1、編寫Animal接口及其實現類Cat。代碼如下:

interface Animal{void sleep(); }class Cat implements Animal{public void sleep(){System.out.println("調用了sleep()方法。。。");}public void catchMouse(){System.out.println("調用了catchMouse()方法。。。");} }

2、定義測試類Example13,Cat對象指向Animal引用,并使用父類Animal引用調用sleep()方法。代碼如下:

package Example13;interface Animal{void sleep(); }class Cat implements Animal{public void sleep(){System.out.println("調用了sleep()方法。。。");}public void catchMouse(){System.out.println("調用了catchMouse()方法。。。");} }public class Example13 {public static void main(String[] args) {Animal c = new Cat();c.sleep();} }

運行結果如圖3-13所示。

圖3-13 運行結果
三、實驗總結
1、多態是指對象在不同時刻表現出來的不同狀態,在Java中,允許使用一個父類類型的變量來引用一個子類類型的對象。
2、多態的前提:
(1) 要有繼承關系。
(2) 要有方法重寫。
(3) 要有父類引用指向子類對象。
3、多態的好處是提高代碼的擴展性和可維護性。
4、多態的弊端是父類或者接口只能調用自己具備的成員,不能訪問子類特有的成員。
實驗3-14 對象的類型轉換
一、實驗描述
1、 考核知識點
名 稱:對象的類型轉換
2、 練習目標
? 掌握如何實現對象的類型轉換
3、 需求分析
在多態的學習中,涉及到將子類對象當做父類類型使用的情況,這時進行強制類型轉換可能會出現出錯。為了讓初學者熟悉對象的類型轉換,本實驗將演示一個子類與父類之間類型轉換過程中出現的錯誤。
編寫一個接口Animal,接口中定義sleep()方法,編寫兩個類Cat和Pig分別實現接口,再編寫一個測試類Example14實現對象的類型轉換。
4、 設計思路(實現原理)
1)編寫Animal接口,接口中定義sleep()方法。
2)Cat類和Pig類分別實現Animal接口的方法
3)編寫測試類Example14對對象的類型進行轉換,使Cat向上轉型為Animal類型,然后再讓Animal類型轉換為Pig類型。
二、實驗實現
1、編寫Animal接口及其實現類Cat。代碼如下:

interface Animal{void sleep(); }class Cat implements Animal {public void sleep(){System.out.println("調用了Cat.sleep()方法。。。");} }class Pig implements Animal {public void sleep(){System.out.println("調用了Pig.sleep()方法。。。");} }

2、定義測試類Example14,Cat對象指向Animal引用,并使用父類Animal引用調用sleep()方法。代碼如下:

package Example14;interface Animal{void sleep(); }class Cat implements Animal {public void sleep(){System.out.println("調用了Cat.sleep()方法。。。");} }class Pig implements Animal {public void sleep(){System.out.println("調用了Pig.sleep()方法。。。");} }public class Example14 {public static void main(String[] args) {Animal a = new Cat();Pig p = a;p.sleep();} }

運行結果如圖3-14所示。

圖3-14 錯誤提示
三、實驗總結
1、向下類型轉換時,需要注意被轉換對象的真實類型是否和需要轉換的對象類型相同,否則容易報類型轉換異常(java.lang.ClassCastException)。
2、Java提供了一個關鍵字instanceof,它可以判斷一個對象是否為某個類(或接口)的實例或者子類實例,語法格式如下:
對象(或者對象引用變量) instanceof 類(或接口)
3、進行向上類型轉換,子類對象當做父類類型使用時,不能通過父類變量去調用子類中某些方法,否則會拋出編譯異常。
實驗3-15 匿名內部類
一、實驗描述
1、 考核知識點
名 稱:匿名內部類
2、 練習目標
? 了解什么是匿名內部類
? 掌握如何使用匿名內部類
3、 需求分析
在學習接口時,如果方法的參數被定義為一個接口類型,那么就需要定義一個類來實現接口。除此之外,還可以使用匿名內部類來實現接口。為了讓初學者能更好地理解什么是匿名內部類,本實驗將演示如何實現一個匿名內部類。
4、 設計思路(實現原理)
1)設計一個Inter接口,接口中定義show()和method()方法。
2)設計一個Outer類,在類的function()方法中使用匿名內部類實現Inter接口并實例化,并調用show()和method()方法。
3)最后編寫一個測試類Example15,創建Outer的對象并調用function()方法。
二、實驗實現
1、編寫Inter接口及Outer類,使用匿名內部類實現接口并創建對象。代碼如下:

interface Inter{void show();void method(); }class Outer implements Inter{public void function(){Inter in = new Inter() {@Overridepublic void show() {System.out.println("調用了Inter.show()方法。。。");}@Overridepublic void method() {System.out.println("調用了Inter.method()方法。。。");}};in.show();in.method();}@Overridepublic void show() {}@Overridepublic void method() {} }

2、定義測試類Example15。代碼如下:

package Example15;interface Inter{void show();void method(); }class Outer implements Inter{public void function(){Inter in = new Inter() {@Overridepublic void show() {System.out.println("調用了Inter.show()方法。。。");}@Overridepublic void method() {System.out.println("調用了Inter.method()方法。。。");}};in.show();in.method();}@Overridepublic void show() {}@Overridepublic void method() {} }public class Example15 {public static void main(String[] args) {Outer ou = new Outer();ou.function();} }

運行結果如圖3-15所示。

圖3-15 運行結果
三、實驗總結
1、匿名內部類的格式,具體如下:
new 父類(參數列表) 或 父接口(){
//匿名內部類實現部分
}
2、匿名內部類是實現接口的一種簡便寫法,在程序中不一定非要使用匿名內部類。
3、什么時候使用匿名內部類:通常在使用方法是接口類型參數,并該接口中的方法不超過三個時,可以將匿名內部類作為參數傳遞。
4、內部類:
(1) 將一個類B定義在另一個類A的里面,那么B類就稱為內部類(嵌套類),內部類定義在成員位置上。
(2) 內部類可以直接訪問外部類中的成員,包括私有成員,而外部類要訪問內部類中的成員必須要建立內部類的對象。
實驗3-16 try…catch語句
一、實驗描述
1、 考核知識點
名 稱:try…catch和finally
2、 練習目標
? 掌握如何使用try…catch語句進行異常處理
3、 需求分析
Java中提供了一種對異常進行處理的方式——異常捕獲,異常捕獲通常使用try…catch語句。為了讓初學者熟悉try…catch語句,本實驗將演示如何使用try…catch語句處理遍歷時可能出現的數組角標越界異常。
4、 設計思路(實現原理)
1) 編寫測試類Example16,
2) 在類Example16中定義名為arr的int類型一維數組,遍歷數組輸出每次遍歷出的值,結束輸出“over”。
2)使用try…catch語句處理遍歷時可能出現的數組角標越界異常,如果出現異常輸出“角標越界”。
二、實驗實現

package Example16;public class Example16 {public static void main(String[] args) {int[] arr = {1,2,3,4,5,6,7,8,9,0};for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}System.out.println("over");try{for (int i = 0; i < arr.length + 1; i++) {System.out.print(arr[i]+" ");}System.out.println("over");}catch(Exception e){System.out.println("角標越界");}} }

運行結果如圖3-16所示。

圖3-16 運行結果
三、實驗總結
1、try代碼塊中編寫可能發生異常的Java語句,catch代碼塊中編寫針對異常進行處理的代碼。在try代碼塊中,發生異常語句后面的代碼是不會被執行的。
2、可能發生多個異常時,可以使用多個try…catch或者用一個try多個catch。
3、 Throwable:是異常體系的超類.
|–Error 重大的錯誤,這個問題發生后,一般我們處理不了,一般不處理,而是要程序進行修正 。(內存溢出)
|–Exception 可以處理的問題,這個問題需要我們編寫針對性的代碼進行處理。(異常處理)

實驗3-17 finally語句
一、實驗描述
1、 考核知識點
名 稱:try…catch和finally
2、 練習目標
? 掌握如何使用finally語句
3、 需求分析
在程序中,有時候我們希望有些語句無論程序是否發生異常都要執行,這時就可以在try…catch語句后,加一個finally代碼塊。為了讓初學者熟悉finally代碼塊,本實驗將演示如何使用finally語句來保證不論是否異常都輸出一句話。
4、 設計思路(實現原理)
1) 編寫Example17類
2) 在main方法中使用try…catch…finally…語句,其中try語句塊中編寫可能發生異常的語句10/0,如果不異常輸出“程序繼續”,如果異常在catch語句塊中會輸出“出異常類”
3) 在finally語句塊中輸出“釋放資源”,保證保證不論是否異常一定輸出此語句
二、實驗實現

package Example17;public class Example17 {public static void main(String[] args) {try{int n = 10/0;System.out.println("程序繼續");}catch(Exception e){System.out.println("出異常類");}finally {System.out.println("釋放資源");}} }

運行結果如圖3-17所示。

圖3-17 錯誤提示
三、實驗總結
無論是否發生異常,finally代碼塊是一定會執行的。但是需要注意的是,finally中的代碼塊在一種情況下不會執行,那就是在執行到finally語句之前執行了System.exit(0)語句。

實驗3-18 throws關鍵字
一、實驗描述
1、 考核知識點
名 稱:throws關鍵字
2、 練習目標
? 掌握如何使用throws關鍵字
3、 需求分析
Java中允許在方法的后面使用throws關鍵字對外聲明該方法有可能發生的異常,這樣調用者在調用方法時,就明確地知道該方法有異常,并且必須在程序中對異常進行處理,否則編譯無法通過。為了讓初學者熟悉throws關鍵字,本實驗將演示如何使用throws關鍵字。
4、 設計思路(實現原理)
1) 編寫一個類Example18
2) 在該類中定義方法div()用于進行除法運算,運算前對被除數進行判斷,如果等于0,使用throws拋出異常對象,否則進行正常的除法運算。
3) 由于throw拋出了非運行時異常,為了保證編譯通過,我們需要在方法名后面使用throws聲明拋出異常類。
2)在main方法中調用div()方法,并通過try…catch…語句處理拋出的異常。
二、實驗實現

package Example18;public class Example18 {public static int div(int a,int b) throws Exception {Exception e = new Exception("除數為零");if(b == 0) throw e;return a/b;}public static void main(String[] args) {int x = 0;try{x = div(10,1);System.out.println(x);} catch (Exception e) {System.out.println("捕獲的異常是:"+e.getMessage());}try{x = div(10,0);System.out.println(x);} catch (Exception e) {System.out.println("捕獲的異常是:"+e.getMessage());}} }

運行結果如圖3-18所示。

圖3-18 運行結果
三、實驗總結
1、throws關鍵字聲明拋出異常的語法格式如下:
修飾符 返回值類型 方法名([參數1,參數2…])throws ExceptionType1[,ExceptionType2…]{
}
2、throws關鍵字需要寫在方法聲明的后面,throws后面需要聲明方法中發生異常的類型,通常將這種做法稱為方法聲明拋出一個異常。

實驗3-19 自定義異常
一、實驗描述
1、 考核知識點
名 稱:自定義異常
2、 練習目標
? 掌握如何自定義異常
3、 需求分析
Java中定義的異常有限,如果想描述程序中特有的異常情況,就需要自定義異常。為了讓初學者熟悉自定義異常,本實驗將自定義一個名為MyException的異常類來演示如何自定義異常。
4、 設計思路(實現原理)
1)自定義名為MyException的異常類,繼承自Exception類。
2)在Example19類中進行除法運算,判斷當除數為零時,拋出自定義的異常類
3)在main()方法中處理異常。
二、實驗實現
1、編寫自定義異常類,代碼如下:

class MyException extends Exception{public MyException(){super();}public MyException(String message){super(message);} }

2、拋出異常和處理異常,代碼如下:

package Example19;class MyException extends Exception{public MyException(){super();}public MyException(String message){super(message);} }public class Example19 {public static int div(int a,int b) throws MyException{MyException e = new MyException("除數為零");if(b == 0) throw e;return a/b;}public static void main(String[] args) {try{int x = div(10,0);System.out.println(x);} catch (MyException e) {System.out.println("捕獲的異常是:"+e.getMessage());}} }

運行結果如圖3-19所示。

圖3-19 運行結果
三、實驗總結
1、在Java中允許用戶自定義異常,但自定義的異常類必須繼承自Exception或其子類。
2、throw關鍵字用于在方法中聲明拋出異常的實例對象,其語法格式如下:
throw Exception異常對象
3、main()方法中,定義了一個try…catch語句用于捕獲divide()方法拋出的異常。在調用divide()方法時由于傳入的被除數不能為零,程序會拋出一個自定義異常MyException,該異常被捕獲后最終被catch代碼塊處理,并打印出異常信息。
實驗3-20 import引入指定類
一、實驗描述
1、 考核知識點
名 稱:import語句
2、 練習目標
? 掌握如何使用import引入指定類
3、 需求分析
不同包下的類互相調用時,一般會使用import關鍵字引入包。為了方便初學者的學習,本實驗將演示如何使用import引入指定類。
4、 設計思路(實現原理)
1) 在D:\samplePackage\chapter04 文件夾下新建Student.java文件
2) 打開文件編寫Student類,類中定義int類型的變量sid,String類型的變量name和double類型的變量score,分別表示學生id,學生姓名和分數。
2)Student類定義構造器及一個evaluation()方法,該方法用于評定學生是否為三好學生,得分大于90分為三好學生,否則為普通學生。Student類編譯后位于cn.itcast.domain包下。
3)在D:\samplePackage\chapter04 文件夾下新建Example20.java文件,打開文件編寫Example20類,在main方法中使用有參構造創建Student類的對象并調用evaluation()方法
4)Example20類編譯后位于cn.itcast.example包下,在類中使用import cn.itcast.domain.Student;引入Student類。
二、實驗實現
1、編寫Student類,該類位于cn.itcast.domain包下,代碼如下所示:

package cn.itcast.domain;public class Student{int sid;String name;double score;public Student(int sid,String name,double score){this.name = name;this.score = score;this.sid = sid;}public void evaluation(){if(this.score > 90) {System.out.println(this.name+"是三好學生");}else{System.out.println(this.name+"是普通學生");}} }

2、編寫Example20類,該類位于cn.itcast.example包下,代碼如下所示:

package cn.itcast.example; import cn.itcast.domain.Student;public class Example20 {public static void main(String[] args) {Student s = new Student(123456,"李明",91);s.evaluation();} }

運行結果如圖3-20所示。

圖3-20 運行結果
三、實驗總結
1、當處于不同包下的類互相調用時,需要使用被調用類的完整類名,即包名加上類名。為了簡化代碼,Java中提供了import關鍵字,用于引入某個指定包下的類。
2、import通常出現在package語句之后,類定義之前。
3、當需要引入同一包下的多個類時,可以使用“import包名.*;”的方式,引入包下所有的類。

總結

以上是生活随笔為你收集整理的Java实验03 面向对象(下)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

日韩综合第一页 | 国产免费又爽又刺激在线观看 | 又黄又刺激又爽的视频 | 国产美女视频网站 | 日本美女xx| 日韩精品久久久久久久电影竹菊 | 国产96av | 久久精品成人热国产成 | 久久久视屏 | 日韩视频免费播放 | 日韩av电影网站在线观看 | 瑞典xxxx性hd极品 | 天天曰 | 亚洲欧美日韩国产一区二区 | 中文在线中文a | 日日操操 | 国产中文字幕第一页 | 一区二区 不卡 | 成人一级 | 久久精品视频网址 | 久久人人爽人人人人片 | 天天干.com| 在线亚洲小视频 | 天天色综合久久 | zzijzzij日本成熟少妇 | 国产69精品久久99的直播节目 | 三级av在线| 久久成人久久 | 2019中文字幕第一页 | 青青河边草免费观看完整版高清 | 操操日| 亚洲狠狠婷婷 | 精品久久网 | 久久久国产一区二区三区四区小说 | 91视频免费| 天天操夜夜操夜夜操 | 精品视频成人 | 99色资源 | 黄色三级免费观看 | 亚洲九九九在线观看 | 69国产成人综合久久精品欧美 | 亚洲视频在线视频 | 国产视频在线观看一区二区 | 黄色综合 | 天天视频色版 | 97偷拍视频 | 国产精品久久久av | 精品国产视频在线观看 | 成人性生交大片免费观看网站 | 伊人天天狠天天添日日拍 | 麻花传媒mv免费观看 | 日韩精品专区在线影院重磅 | 97超碰免费在线观看 | 丁香视频| 亚洲日本va在线观看 | 国产99久久九九精品免费 | 久久五月网 | 狠狠地操 | 狠狠做深爱婷婷综合一区 | 999超碰 | 99久热在线精品 | 国产手机视频在线播放 | 日日精品| 欧美巨大 | 黄色在线免费观看网站 | 欧美日韩高清一区 | 精品国产自在精品国产精野外直播 | 久青草影院 | 国产高清在线看 | 国产免费观看av | 免费三及片 | 激情丁香月 | 韩国av免费看 | 欧美日本国产在线观看 | 色噜噜狠狠色综合中国 | 亚洲精欧美一区二区精品 | 日韩高清不卡一区二区三区 | www看片网站| 色视频网址 | 欧美成人在线网站 | 91在线91 | 久久99亚洲热视 | 亚洲综合成人专区片 | 亚洲成人精品av | 狠狠色综合网站久久久久久久 | 狠狠干2018| 国产精品久久久久久久免费观看 | 久久国产欧美日韩精品 | 狠狠干天天干 | av免费在线网站 | 久久69精品久久久久久久电影好 | 国产婷婷久久 | 91九色九色 | 欧美精品乱码久久久久久按摩 | 在线成人中文字幕 | 国产91av视频在线观看 | 天天插日日射 | 日韩剧 | 国产成人综合精品 | 99国产在线观看 | 波多野结衣在线播放视频 | 91亚洲成人 | 婷婷在线网站 | 国产黄在线观看 | 久久综合九色综合97婷婷女人 | 97麻豆视频 | 日韩有码中文字幕在线 | 欧美人人爱 | 天堂av在线免费 | 99热精品在线观看 | 亚洲欧美日韩精品久久奇米一区 | 久久久www免费电影网 | 成人精品一区二区三区电影免费 | 国产成人精品一区一区一区 | 91传媒免费观看 | 五月天亚洲精品 | 欧美另类交在线观看 | 日本爽妇网 | 97超碰在线免费观看 | 国际精品久久久 | 国产亚洲免费观看 | 激情欧美一区二区免费视频 | 国产夫妻av在线 | 婷婷在线综合 | 久久精品一区八戒影视 | 天天干天天拍天天操 | 亚洲精品在线观看中文字幕 | 久久99热久久99精品 | 久久精品视频国产 | 色五月激情五月 | 久久综合九色综合欧美狠狠 | 五月婷网 | 久久国产精品视频免费看 | 欧美成人h版 | 在线中文字幕av观看 | 在线观看深夜视频 | 色欧美成人精品a∨在线观看 | 日韩在线观看小视频 | 九色福利视频 | 国产九色在线播放九色 | 国产97碰免费视频 | 国内精品久久久久久 | 亚洲精品视频二区 | 亚洲免费在线看 | 黄色www免费 | 超碰人人超 | 色香网 | 亚洲国产三级在线观看 | 欧美激情综合五月色丁香小说 | 国产黄色资源 | 91视频国产高清 | 亚洲人成人天堂h久久 | 精品电影一区二区 | 激情五月亚洲 | 欧美日韩性视频在线 | 欧美极度另类性三渗透 | www.69xx| 国产一级做a爱片久久毛片a | www.久草视频 | 久久黄色精品视频 | 996久久国产精品线观看 | 亚洲第五色综合网 | 国产美女视频免费 | 综合色狠狠 | 成人免费av电影 | 天天色天天综合 | 久久视奸| 五月天综合激情网 | 伊人视频 | 激情文学综合丁香 | 久久久免费精品国产一区二区 | 99久久er热在这里只有精品15 | 日韩av片无码一区二区不卡电影 | 国产一区二区手机在线观看 | 国产精品毛片久久蜜 | 国产99区 | 99精品在线免费视频 | 视频在线观看99 | 日日操操操 | 久草在线手机视频 | 日韩成人在线一区二区 | 亚洲日本精品 | 成人午夜影视 | 日本中文字幕视频 | 久久久久免费网 | 久久国产露脸精品国产 | 日韩精品久久一区二区三区 | 日日婷婷夜日日天干 | 国产在线91精品 | 69亚洲精品 | 国产福利免费看 | 人人干人人添 | 欧洲精品码一区二区三区免费看 | 久久精品超碰 | 少妇高潮流白浆在线观看 | 天天操狠狠操夜夜操 | 日韩综合视频在线观看 | 免费午夜视频在线观看 | 欧美一级视频免费看 | av日韩中文 | 亚洲精品欧美视频 | 国产成年人av | 麻豆国产精品va在线观看不卡 | 国产高清永久免费 | 精品久久久久久综合日本 | 一区在线播放 | 久久精彩| 日本乱码在线 | 欧美一区二区在线 | 亚洲国产精品第一区二区 | 九九久久电影 | 日韩一区二区三区免费电影 | 成人免费观看电影 | 国产日韩精品在线观看 | 国产伦精品一区二区三区高清 | 亚洲电影久久久 | 日本一区二区不卡高清 | 免费色网站 | 国产精品18久久久久久首页狼 | 人人澡人人爽欧一区 | 日韩精选在线观看 | 国产精品久久在线观看 | 国产精品视频资源 | 色99久久| 免费成人看片 | 国产美腿白丝袜足在线av | 在线日韩中文字幕 | 怡红院av久久久久久久 | 久久不见久久见免费影院 | 欧美福利网址 | 欧美少妇xxx | 亚洲三级性片 | 精品视频中文字幕 | 精品国内自产拍在线观看视频 | 五月激情站 | 久久国产区 | 一区二区激情 | 粉嫩av一区二区三区四区 | 久久首页| 69绿帽绿奴3pvideos | 婷婷网在线 | 特级黄色电影 | 99久久夜色精品国产亚洲 | 欧美a级片网站 | 亚洲国产一区av | 在线视频成人 | 九九电影在线 | 视频一区亚洲 | 尤物97国产精品久久精品国产 | 亚洲第一伊人 | 美女网站免费福利视频 | 91麻豆网 | 99热国产在线观看 | 久久三级视频 | 日韩偷拍精品 | 欧美日韩性视频在线 | 精品久久久久久久 | 狠狠的操| 91中文字幕在线观看 | 国产精品原创av片国产免费 | 国产精品www | 日日干av| 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 1024手机基地在线观看 | 午夜精品久久一牛影视 | 在线a亚洲视频播放在线观看 | 国产一级视屏 | 51久久成人国产精品麻豆 | 午夜丁香网| 欧美极品xxxxx | 欧美久久电影 | 麻豆国产网站 | 色综合亚洲精品激情狠狠 | 人人澡人人爽 | 国产视频每日更新 | 国产黄色在线网站 | 99精品国产福利在线观看免费 | 日韩精品一区二区三区三炮视频 | 国产黄色理论片 | av在线看网站 | 久久精品国产免费看久久精品 | 人人澡人摸人人添学生av | 夜夜夜精品 | 欧美日韩xxxxx | 午夜电影一区 | 日日干夜夜骑 | 色小说在线 | 欧美日韩xx| 韩日电影在线观看 | 超碰在97 | 精品在线一区二区 | 天天干天天拍天天操 | 亚洲三级毛片 | 国产资源精品在线观看 | av看片网 | 国产区精品区 | 国产午夜精品在线 | 精品亚洲一区二区三区 | 日韩欧美高清免费 | 超碰在线97免费 | 久久a久久 | 国产一区二区三区 在线 | 日本在线视频一区二区三区 | 欧美日性视频 | 久久理论电影 | 超碰97国产精品人人cao | 精品久久1| 成人在线视频论坛 | 亚洲国产日韩欧美 | 高清在线一区二区 | 欧美永久视频 | 国产理论在线 | 久艹视频免费观看 | 九草视频在线 | 综合色在线 | 国产又粗又猛又爽又黄的视频先 | 久久99九九99精品 | 美女国产 | 精品色综合 | www四虎影院 | 国产伦精品一区二区三区四区视频 | 日韩毛片在线一区二区毛片 | 毛片区 | 国产日产欧美在线观看 | 激情综合网在线观看 | 久久久毛片 | 国产午夜精品视频 | 国产精品av在线 | 在线免费视频 你懂得 | 99久久久久久国产精品 | 九色91福利 | 国产中文字幕一区二区 | 97在线视频免费 | 成人黄色免费在线观看 | 高潮久久久久久久久 | 国产精品久99 | 国产精品成人国产乱 | 首页av在线| h动漫中文字幕 | 亚洲精品综合一区二区 | 在线观看视频黄 | 97超碰人人网 | 日韩欧美高清一区二区三区 | 国产一级性生活 | 久久精品高清视频 | 999超碰 | 免费色视频在线 | 91九色性视频 | 午夜精品一区二区三区免费 | 久草网在线视频 | 国产精品日韩欧美一区二区 | www九九热| 久久国产一区二区三区 | 国产婷婷色 | 91精品国产91久久久久福利 | 亚洲成人999 | 免费看十八岁美女 | 日韩成人免费电影 | 青草视频免费观看 | www.色婷婷 | 亚洲免费视频观看 | 美女网站在线观看 | 国产精品久久久久久麻豆一区 | 国产手机在线精品 | 成人久久亚洲 | 亚洲国产午夜精品 | 日本韩国中文字幕 | 99国产视频在线 | 中文字幕资源在线观看 | 中文字幕免费高清 | 久草在线免费新视频 | 久久综合电影 | 国产中文字幕免费 | 国产在线一线 | 亚洲国产成人久久综合 | 一级国产视频 | 91porny九色91啦中文 | 婷婷网五月天 | 丝袜美腿在线视频 | 激情亚洲综合在线 | a v在线视频 | 免费91在线| 午夜精品久久一牛影视 | 91大神在线看 | 99久久99视频只有精品 | 天天爱综合 | 色多多污污 | 国产精品ⅴa有声小说 | 亚洲精品综合久久 | 国产激情免费 | 最新超碰在线 | 亚洲人成影院在线 | 999视频在线播放 | 天天干天天想 | 欧美日韩在线第一页 | 在线观看视频亚洲 | 六月色婷 | 超级av在线 | 天天精品视频 | 91女神的呻吟细腰翘臀美女 | 国产不卡在线播放 | 欧美另类高清 videos | 在线天堂v| 精品一二三区视频 | 久久最新视频 | 婷婷六月综合网 | 在线免费看黄色 | 欧美aaa大片 | 国产美腿白丝袜足在线av | 成人在线免费看 | 国产一区二区精品在线 | 涩五月婷婷 | 国产精品爽爽久久久久久蜜臀 | 成人在线视频在线观看 | 久久综合九色综合97婷婷女人 | 韩国在线一区 | 欧美日韩免费在线观看视频 | 丁香 婷婷 激情 | 国产不卡免费 | 精品亚洲一区二区三区 | 97人人爽| 国产黄色在线观看 | 精品一区二区三区四区在线 | 日韩啪啪小视频 | 麻豆高清免费国产一区 | jizz欧美性9 国产一区高清在线观看 | 久久男人视频 | 国产做aⅴ在线视频播放 | 美国人与动物xxxx | 在线之家官网 | 成年人看片网站 | 美女精品 | 九九九九九九精品 | 国产精品综合在线观看 | 狠狠色丁香久久综合网 | 天天操天天爽天天干 | 亚洲精品在线免费播放 | 国产一级淫片免费看 | 首页国产精品 | 美女久久久久久久 | 中文字幕免费国产精品 | 久久精品看片 | 欧美精品一区二区三区一线天视频 | 欧美一级黄色视屏 | 91免费国产在线观看 | 国产精品免费久久久久久 | 精品视频国产一区 | av怡红院 | 涩涩爱夜夜爱 | 特级毛片网 | 日本巨乳在线 | 欧美地下肉体性派对 | av成人免费在线看 | 天天操月月操 | 色亚洲激情 | 国产九色视频在线观看 | 国产一级在线 | 成人电影毛片 | 在线观看国产一区二区 | 久久美女免费视频 | 亚洲精选在线观看 | 欧美精品久久久久久久久久丰满 | 亚洲日韩中文字幕在线播放 | 国产无套精品久久久久久 | 天天操天天色天天射 | 一区二区三区四区影院 | 米奇影视7777 | 国产资源在线视频 | 日韩视频中文 | 免费看黄色91 | 天天干天天拍天天操天天拍 | 一区在线电影 | 国产一级片久久 | 四虎www com | 久久99亚洲热视 | 国产极品尤物在线 | 99在线热播 | 国产拍揄自揄精品视频麻豆 | 成人一级视频在线观看 | 男女免费av| 黄色av三级在线 | 在线亚洲欧美日韩 | 欧美日韩aa | 色婷婷狠狠干 | 日韩高清二区 | 久久久久久久久久免费 | 中文字幕观看在线 | www.久久免费视频 | 国产一级片不卡 | adn—256中文在线观看 | 日韩特级片 | 欧美日韩二三区 | 99国内精品久久久久久久 | 国产精品久久久久国产精品日日 | 麻豆久久久久久久 | 亚洲va在线va天堂va偷拍 | 亚洲天堂毛片 | 黄色亚洲精品 | 国产小视频在线免费观看视频 | 亚洲成年片 | 00av视频 | 亚洲午夜精品久久久 | 久久99亚洲网美利坚合众国 | 亚洲欧洲中文日韩久久av乱码 | 日韩欧美一区二区在线观看 | 日日夜夜婷婷 | 亚洲国产精品一区二区久久,亚洲午夜 | 国产一级性生活视频 | 黄色天堂在线观看 | 成人禁用看黄a在线 | 国产成人精品午夜在线播放 | 欧美一级免费高清 | 夜夜天天干 | 99国产精品视频免费观看一公开 | 欧美性高跟鞋xxxxhd | 国产精品一区二区av影院萌芽 | 欧美人牲 | 亚洲免费av在线播放 | 亚洲电影av在线 | 亚州国产精品 | 韩国av在线| 激情久久久久 | 久久精品99国产精品酒店日本 | 99视频国产精品免费观看 | 日韩欧美视频二区 | 在线视频免费观看 | 国产成人99av超碰超爽 | 91网免费观看 | 欧美激情视频在线观看免费 | 成人av资源网站 | 五月婷婷色综合 | 中文字幕亚洲精品在线观看 | 色综合中文字幕 | 亚洲精品字幕在线观看 | 狠狠色狠狠色合久久伊人 | 午夜资源站 | 91欧美精品| 在线看免费 | 日批视频在线播放 | 成人h视频在线播放 | 日韩国产欧美在线播放 | 中文字幕在线观看日本 | 精品黄色在线观看 | 国产在线观看污片 | 一区二区三区四区五区六区 | 日韩欧美视频免费在线观看 | 国产日本亚洲 | 又黄又爽又色无遮挡免费 | 日本护士三级少妇三级999 | 六月丁香在线视频 | 国产精品9999久久久久仙踪林 | 成年人免费观看在线视频 | 精品成人a区在线观看 | 午夜影院先 | 在线看一级片 | 成人久久18免费网站 | 久草男人天堂 | 狠狠色狠狠色合久久伊人 | av电影中文| 欧美日韩性视频在线 | 国产精品中文在线 | 91在线一区二区 | 丁香婷婷激情国产高清秒播 | 国产综合婷婷 | 久久免费视频在线观看 | 久久久久久久久久影视 | 97福利视频| 中文字幕第一页在线 | 国产一区二区三区免费视频 | 国产亚洲精品久久久久久 | 91网在线 | 久久五月婷婷综合 | 久免费| 免费日韩 精品中文字幕视频在线 | 欧美日韩大片在线观看 | 99国产精品 | 8x成人免费视频 | 超碰最新网址 | 丁香六月伊人 | 黄色大片入口 | 美州a亚洲一视本频v色道 | 日本在线观看一区 | 四虎影视成人精品 | 国产精品久久久久久久久久久久冷 | 91精品国产99久久久久久红楼 | 欧美在线观看视频一区二区 | 久久伊99综合婷婷久久伊 | 久久精品视频3 | 九九九热精品 | 香蕉久草 | 九色porny真实丨国产18 | 激情视频综合网 | 久久久久久久久久免费 | 九九精品久久久 | 精品国产乱码久久久久久久 | 免费在线观看的av网站 | 久久影视中文字幕 | 久久免费视频4 | 日韩欧美成人网 | 国产日韩欧美在线观看 | 天天干天天操天天干 | 国产小视频91 | 久久草av | 人人爽人人搞 | 超碰免费久久 | 欧美激情在线看 | 99精品视频在线看 | 国产中文字幕视频 | 97超碰人人网 | 亚洲欧美成人综合 | 91视频久久久 | 久久久久国产一区二区三区 | 日韩av男人的天堂 | 怡红院成人在线 | 亚洲狠狠婷婷 | 精品一区二区电影 | 欧美在线视频不卡 | 婷婷色婷婷| 狠狠色伊人亚洲综合网站色 | 人成午夜视频 | 97热视频| 国产一级性生活 | 亚洲春色综合另类校园电影 | 69av免费视频 | 免费网址你懂的 | 激情久久综合网 | 精品一区电影 | 激情开心网站 | 久久一久久 | 午夜久久影视 | 97国产精品亚洲精品 | 青青视频一区 | 麻豆va一区二区三区久久浪 | 日韩激情视频在线 | 亚洲三级毛片 | 一区二区视频电影在线观看 | 免费福利片 | 日韩网站一区 | 美女露久久 | 麻豆一区二区 | 亚洲国产成人精品久久 | 丁香婷婷久久 | 亚洲狠狠婷婷综合久久久 | 亚洲理论在线 | 天天爽夜夜爽人人爽曰av | 国产午夜精品免费一区二区三区视频 | 福利视频网址 | 亚洲人成影院在线 | 精品国产伦一区二区三区免费 | 精品国产诱惑 | 天堂av在线 | 国内精品亚洲 | 亚洲电影影音先锋 | 日韩黄色大片在线观看 | 国产精品免费久久 | 伊人激情网 | 制服丝袜在线 | 久久午夜剧场 | 天天干天天摸天天操 | 69xxxx欧美 | 国产亚洲精品v | 91欧美日韩国产 | 精品自拍网 | 日韩一级片大全 | 国产剧情av在线播放 | 日本乱视频 | 国产精品一区二区久久久久 | 日本韩国精品在线 | 91完整视频 | 91精品对白一区国产伦 | 国产伦理久久 | 久久久久免费视频 | 免费视频一级片 | 亚洲涩涩一区 | 在线观看视频一区二区三区 | 久艹在线免费观看 | a黄在线观看 | 亚洲精品av在线 | 亚洲激情六月 | 免费碰碰 | 久久的色 | 日韩一级成人av | 国产成人一区二区三区在线观看 | 国产精品毛片一区二区在线 | 日韩精品视频在线观看网址 | 免费精品在线 | 97精品伊人| 日韩视频三区 | 伊人网站 | 中文国产在线观看 | 欧美在线视频第一页 | 蜜桃视频日韩 | 欧美整片sss | 国产91大片 | 亚洲精品视频在线观看视频 | www.天天干| 精品视频区 | 久草成人在线 | 国产在线欧美 | 国产免费人成xvideos视频 | 欧美精品一区在线发布 | www麻豆视频 | 日韩丝袜| 午夜美女福利直播 | 丁香久久激情 | 中文字幕丝袜制服 | 中文字幕日韩在线播放 | 久久精品国产99国产 | 欧美日韩在线视频一区二区 | 婷婷色在线观看 | 久草资源免费 | 91精品国产欧美一区二区 | 91精品视频导航 | 国产精品日韩欧美 | 日日操夜 | 欧洲视频一区 | 精品在线视频观看 | 绯色av一区| 亚洲va在线va天堂va偷拍 | 制服丝袜欧美 | 色偷偷88888欧美精品久久久 | 国产免费观看高清完整版 | 日韩免费一级电影 | 日韩在线国产精品 | 欧美日产一区 | 日韩免费电影网 | 国产精品久久久久久久免费观看 | 在线免费观看的av网站 | 4438全国亚洲精品观看视频 | 粉嫩av一区二区三区四区 | 免费观看黄色12片一级视频 | 超碰999| 天天天天天天天天操 | 成年人在线看片 | 欧美黑人巨大xxxxx | 婷婷在线免费 | 国产手机视频 | 91精品欧美一区二区三区 | 日韩美女免费线视频 | 日日夜夜噜噜噜 | 国产高清在线 | 国产视频一级 | avv天堂| 亚洲国产精品成人女人久久 | 欧美精品被 | a在线观看国产 | 国产露脸91国语对白 | 超碰在线中文字幕 | 亚洲国产精品电影在线观看 | 精品九九九 | 麻豆影视网站 | 在线亚洲小视频 | 久草免费手机视频 | 欧美一进一出抽搐大尺度视频 | 国产成人精品在线观看 | 欧美激情视频三区 | 久久都是精品 | 亚洲网站在线看 | 六月丁香六月婷婷 | 精品在线不卡 | 久久免费国产电影 | 久久好看免费视频 | 大胆欧美gogo免费视频一二区 | 黄色一级在线观看 | 香蕉视频18 | 91高清完整版在线观看 | 91丨九色丨国产在线观看 | 欧美高清视频不卡网 | 精品国产福利在线 | 亚洲精品理论 | 一区二区三区四区在线 | 天天综合视频在线观看 | 亚洲精品777 | 波多野结衣视频在线 | 三级a视频 | 毛片永久新网址首页 | 最近2019年日本中文免费字幕 | 亚洲黄色影院 | 天天综合色网 | 亚洲jizzjizz日本少妇 | 91亚洲激情 | av国产在线观看 | 深夜免费福利 | 国产成人精品国内自产拍免费看 | 波多野结衣最新 | 96久久 | 国产精选在线 | 91亚洲欧美 | 久久视频这里只有精品 | 999精品 | 狠狠网亚洲精品 | 国产精品女视频 | 久久久久亚洲精品成人网小说 | 久久激情婷婷 | 久久国产精品第一页 | 亚洲视频网站在线观看 | 97超碰中文字幕 | 中文资源在线观看 | 国产精品私人影院 | 免费在线观看成人 | 国产精品免费观看网站 | 麻豆超碰 | 91久久国产露脸精品国产闺蜜 | 亚洲精品视频免费看 | 在线成人高清电影 | 精品久久一| 伊人天天干 | 亚洲综合国产精品 | 亚洲久草网 | av电影在线观看完整版一区二区 | 深夜免费福利网站 | 精品毛片一区二区免费看 | 四虎免费在线观看 | 99久久99 | 日韩免费电影一区二区 | 色狠狠干| 香蕉视频在线看 | 中文超碰字幕 | 婷婷激情av | 国产欧美日韩一区 | 久久久精品久久 | 草久视频在线 | 久草亚洲视频 | 国语精品久久 | 久久久久福利视频 | 91中文字幕在线观看 | 四虎国产免费 | 超碰人人在线 | 国产在线毛片 | 91毛片在线观看 | 成人午夜免费福利 | 亚洲精品乱码久久久久久高潮 | 91精品国产91久久久久 | 美女免费黄视频网站 | 欧美成年性 | 91精品国产高清自在线观看 | 国产一区二区午夜 | 精品在线一区二区三区 | 久久精品9 | 色综合久久天天 | 久久久久久久久久久成人 | 日韩av在线高清 | 丁香婷婷射| 成人免费网站在线观看 | 国产精品午夜在线观看 | 欧美日韩一区二区免费在线观看 | 在线a人片免费观看视频 | 丁香五婷 | 国产不卡视频在线播放 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 日韩精品在线观看av | www五月婷婷 | 亚洲 成人 一区 | 日韩毛片在线一区二区毛片 | 激情五月综合网 | 精品久久久久久亚洲 | 人人澡人人添人人爽一区二区 | 国内揄拍国产精品 | 在线免费观看麻豆 | 国产精品久久久久久久久久久免费看 | 日韩精品播放 | 欧洲精品码一区二区三区免费看 | 日韩在线播放视频 | 成人小电影在线看 | 久久不卡av | 日韩网站在线观看 | 999国内精品永久免费视频 | 免费在线观看黄网站 | 日韩免费高清 | 精品在线二区 | 日韩电影中文字幕在线观看 | 日本中文字幕在线一区 | 成人在线视频论坛 | 日韩av电影中文字幕 | 天天操人人干 | 国产亚洲视频在线免费观看 | 在线观看中文字幕av | 狠狠色免费 | 天天插狠狠插 | 97超碰资源 | 国产精品黄色av | 91丨九色丨蝌蚪丰满 | 在线视频观看亚洲 | 久久一区二区三区超碰国产精品 | 免费麻豆| 一本一道久久a久久综合蜜桃 | 色激情在线 | 久久久久国产精品免费 | 国产护士hd高朝护士1 | 九九免费在线看完整版 | 中文在线字幕免 | 成年人在线免费视频观看 | 国产精品亚洲人在线观看 | 麻豆国产精品视频 | 精品1区2区 | 久久久一本精品99久久精品66 | 国产高清精品在线 | 日本中文字幕电影在线免费观看 | aa一级片 | 天天色棕合合合合合合 | 97超视频在线观看 | 午夜三级在线 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产亚洲精品久久久久久久久久 | 亚洲国内精品在线 | 在线观看视频福利 | 日日夜夜91 | 久久久久久久久久久黄色 | 久久久精品 一区二区三区 国产99视频在线观看 | 超黄视频网站 | 久久久高清一区二区三区 | 黄网站免费看 | 粉嫩aⅴ一区二区三区 | 一区二区伦理电影 | 97在线影院 | 色a资源在线 | 狠狠躁日日躁夜夜躁av | 97超碰在线久草超碰在线观看 | 国产精品视频内 | 超碰在线亚洲 | 中文字幕久久精品 | 日韩av电影中文字幕在线观看 | 国色天香永久免费 | 在线日韩中文 | 福利区在线观看 | 97网在线观看 | 天天做日日做天天爽视频免费 | 香蕉在线视频播放网站 | 日日夜夜天天综合 | 91成人网在线 | 成人9ⅰ免费影视网站 | 福利在线看片 | 中文字幕在线视频国产 | 蜜臀精品久久久久久蜜臀 | 97福利在线| 国产精品久久久久久久妇 | av久久在线| 日韩大片在线免费观看 | 欧美国产日韩在线视频 | 欧美特一级片 | 99精品免费久久久久久日本 | 免费的黄色的网站 | 草莓视频在线观看免费观看 | 国产麻豆精品95视频 | 久久激情五月婷婷 | 亚洲精品一区二区18漫画 | 天天爽天天碰狠狠添 | 亚洲免费资源 | 国产精品久久久久三级 | 亚洲国产欧美一区二区三区丁香婷 | 国产最新在线 | 国产在线理论片 | 国产精品久久久久久久久久久杏吧 | 中文字幕亚洲高清 | 久久久麻豆精品一区二区 | 久久99精品国产麻豆宅宅 | 亚洲香蕉在线观看 | 综合久久网站 | 在线国产小视频 | 综合网中文字幕 | av黄色大片| 日韩h在线观看 | 国产中文在线视频 | 福利片免费看 | 99热这里有精品 | www.五月婷婷 | 992tv人人草 黄色国产区 | 久久综合色综合88 | 五月天伊人网 | 久久国产热 | 乱子伦av| 69国产成人综合久久精品欧美 | 伊人伊成久久人综合网小说 | 免费观看视频的网站 | 91免费日韩 | 天天操夜夜想 | 99精品在线观看 | www亚洲视频 | 国产精品久久久久久久久久久久久 | 国产精品视频内 | 在线观看免费成人 | 91精品久久久久久 | 午夜视频在线观看一区 | 涩涩网站在线 | 中文字幕电影网 | 日韩av一区在线观看 | 亚洲成人xxx | 国产精品9999久久久久仙踪林 | 伊人色综合网 | 天无日天天操天天干 | 91大神精品视频 | 高清在线观看av | 国产精品毛片久久久 | 97视频在线免费 | 精品中文字幕在线播放 | 五月天婷婷在线观看视频 | 人人讲下载 | 色综合久久99 |