Java面向?qū)ο螅ɡ^承题画,封裝,多態(tài))

Java面向?qū)ο笕N特性-繼承德频,封裝苍息,多態(tài)

1.繼承

1.繼承的概念

????1.類的公共屬性【字段,方法】

????2.把公共的屬性提取出來形成一個(gè)公共的類壹置,讓其他的類去繼承:減少代碼的冗余度

? ??泛化:在多個(gè)子類的基礎(chǔ)上面抽取共有屬性的行為到一個(gè)父類中去

? ??特化:在一個(gè)父類的基礎(chǔ)上拓展子類特有的屬性和行為竞思,生成一個(gè)新的子類

????原則:父類存放共性,子類存放特性

2.繼承的語法及可繼承的東西

1. 繼承到父類的那些東西

????(1) 非私有的字段及方法

????(2) 父類特性

????構(gòu)造方法不能夠被繼承:java規(guī)定

????子類可以繼承到父類的特性

3.繼承的特點(diǎn)

????(1) 單繼承

????(2) 多重繼承

????(3) 沒有顯示的繼承,那么隱式的繼承Object

4.方法的覆寫

 子類如果對(duì)繼承的父類的方法不滿意(不適合)钞护,可以自己編寫繼承的方法盖喷,這種方式就稱為方法的覆寫。當(dāng)調(diào)用方法時(shí)會(huì)優(yōu)先調(diào)用子類的方法难咕。

 覆寫要注意:

  ? ?a课梳、返回值類型

  b、方法名

  c余佃、參數(shù)類型及個(gè)數(shù)

 都要與父類繼承的方法相同暮刃,才叫方法的覆寫。

 重載和覆寫的區(qū)別:

  方法重載:在同一個(gè)類中處理不同數(shù)據(jù)的多個(gè)相同方法名的多態(tài)手段爆土。

  方法覆寫:相對(duì)繼承而言椭懊,子類中對(duì)父類已經(jīng)存在的方法進(jìn)行區(qū)別化的修改。

? ??繼承的初始化順序

  1步势、初始化父類再初始化子類

  2氧猬、先執(zhí)行初始化對(duì)象中屬性,再執(zhí)行構(gòu)造方法中的初始化立润。

 基于上面兩點(diǎn)狂窑,我們就知道實(shí)例化一個(gè)子類,java程序的執(zhí)行順序是:

父類對(duì)象屬性初始化---->父類對(duì)象構(gòu)造方法---->子類對(duì)象屬性初始化--->子類對(duì)象構(gòu)造方法 

5.final關(guān)鍵字

使用final關(guān)鍵字做標(biāo)識(shí)有“最終的”含義桑腮。

1. final 修飾類泉哈,則該類不允許被繼承。

2. final 修飾方法破讨,則該方法不允許被覆蓋(覆寫)丛晦。

3. final 修飾屬性,則該類的該屬性不會(huì)進(jìn)行隱式的初始化提陶,所以 該final 屬性的初始化屬性必須有值烫沙,或在構(gòu)造方法中賦值(但只能選其一,且必須選其一隙笆,因?yàn)闆]有默認(rèn)值锌蓄!)升筏,且初始化之后就不能改了,只能賦值一次瘸爽。

4. final 修飾變量您访,則該變量的值只能賦一次值,在聲明變量的時(shí)候才能賦值剪决,即變?yōu)?b>常量灵汪。

6.super關(guān)鍵字

在對(duì)象的內(nèi)部使用,可以代表父類對(duì)象柑潦。

  1享言、訪問父類的屬性:super.age

   2、訪問父類的方法:super.eat()

 super的應(yīng)用:

首先我們知道子類的構(gòu)造的過程當(dāng)中必須調(diào)用父類的構(gòu)造方法渗鬼。其實(shí)這個(gè)過程已經(jīng)隱式地使用了我們的super關(guān)鍵字览露。

這是因?yàn)槿绻宇惖臉?gòu)造方法中沒有顯示調(diào)用父類的構(gòu)造方法,則系統(tǒng)默認(rèn)調(diào)用父類無參的構(gòu)造方法乍钻。

那么如果自己用super關(guān)鍵字在子類里調(diào)用父類的構(gòu)造方法肛循,則必須在子類的構(gòu)造方法中的第一行

要注意的是:如果子類構(gòu)造方法中既沒有顯示調(diào)用父類的構(gòu)造方法银择,而父類沒有無參的構(gòu)造方法多糠,則編譯出錯(cuò)。

(補(bǔ)充說明浩考,雖然沒有顯示聲明父類的無參的構(gòu)造方法夹孔,系統(tǒng)會(huì)自動(dòng)默認(rèn)生成一個(gè)無參構(gòu)造方法,但是析孽,如果你聲明了一個(gè)有參的構(gòu)造方法搭伤,而沒有聲明無參的構(gòu)造方法,這時(shí)系統(tǒng)不會(huì)動(dòng)默認(rèn)生成一個(gè)無參構(gòu)造方法袜瞬,此時(shí)稱為父類有沒有無參的構(gòu)造方法怜俐。)

7.Object類

 Object類是所有類的父類,如果一個(gè)類沒有使用extends關(guān)鍵字明確標(biāo)識(shí)繼承另一個(gè)類邓尤,那么這個(gè)類默認(rèn)繼承Object類拍鲤。

 Object類中的方法,適合所有子類9<疚取!

 那么Object類中有什么主要的方法呢澈魄?

 1景鼠、toString()

a. 在Object類里面定義toString()方法的時(shí)候返回的對(duì)象的哈希code碼(對(duì)象地址字符串)。

我們可以發(fā)現(xiàn)痹扇,如果我們直接用System.out.print(對(duì)象)輸出一個(gè)對(duì)象铛漓,則運(yùn)行結(jié)果輸出的是對(duì)象的對(duì)象地址字符串溯香,也稱為哈希code碼。如:

哈希碼是通過哈希算法生成的一個(gè)字符串票渠,它是用來唯一區(qū)分我們對(duì)象的地址碼逐哈,就像我們的身份證一樣。

b. 可以通過重寫toString()方法表示出對(duì)象的屬性问顷。

?  如果我們希望輸出一個(gè)對(duì)象的時(shí)候,不是它的哈希碼禀梳,而是它的各個(gè)屬性值杜窄,那我們可以通過重寫toString()方法表示出對(duì)象的屬性。

? 2算途、equals()

a塞耕、equals()----返回值是布爾類型。

b嘴瓤、默認(rèn)的情況下扫外,比較的是對(duì)象的引用是否指向同一塊內(nèi)存地址-------對(duì)象實(shí)例化時(shí),即給對(duì)象分配內(nèi)存空間廓脆,該內(nèi)存空間的地址就是內(nèi)存地址筛谚。使用方法如:dog.equals(dog2);

c、 如果是兩個(gè)對(duì)象停忿,但想判斷兩個(gè)對(duì)象的屬性是否相同驾讲,則重寫equals()方法。



2.封裝

1席赂、概念:

    將類的某些信息隱藏在類內(nèi)部吮铭,不允許外部程序直接訪問,而是通過該類提供的方法來實(shí)現(xiàn)對(duì)隱藏信息的操作和訪問颅停。

2谓晌、好處:

   只能通過規(guī)定的方法訪問數(shù)據(jù)。

  ??? 隱藏類的實(shí)例細(xì)節(jié)癞揉,方便修改和實(shí)現(xiàn)纸肉。

3、封裝的實(shí)現(xiàn)步驟

需要注意:對(duì)封裝的屬性不一定要通過get/set方法烧董,其他方法也可以對(duì)封裝的屬性進(jìn)行操作毁靶。當(dāng)然最好使用get/set方法,比較標(biāo)準(zhǔn)逊移。


4.this關(guān)鍵字

1.this關(guān)鍵字代表當(dāng)前對(duì)象

  this.屬性 操作當(dāng)前對(duì)象的屬性

  this.方法 調(diào)用當(dāng)前對(duì)象的方法预吆。

 2.封裝對(duì)象的屬性的時(shí)候,經(jīng)常會(huì)使用this關(guān)鍵字胳泉。

3.當(dāng)getter和setter函數(shù)參數(shù)名和成員函數(shù)名重合的時(shí)候拐叉,可以使用this區(qū)別岩遗。如:

5.Java 中的內(nèi)部類

內(nèi)部類( Inner Class )就是定義在另外一個(gè)類里面的類琢融。與之對(duì)應(yīng)号醉,包含內(nèi)部類的類被稱為外部類象颖。

 那么問題來了:那為什么要將一個(gè)類定義在另一個(gè)類里面呢苹支?清清爽爽的獨(dú)立的一個(gè)類多好芭恪<锥丁嵌纲!

 答:內(nèi)部類的主要作用如下:

1. 內(nèi)部類提供了更好的封裝在抛,可以把內(nèi)部類隱藏在外部類之內(nèi)笔诵,不允許同一個(gè)包中的其他類訪問該類返吻。

2. 內(nèi)部類的方法可以直接訪問外部類的所有數(shù)據(jù),包括私有的數(shù)據(jù)乎婿。

  3. 內(nèi)部類所實(shí)現(xiàn)的功能使用外部類同樣可以實(shí)現(xiàn)测僵,只是有時(shí)使用內(nèi)部類更方便。

內(nèi)部類可分為以下幾種:

????????成員內(nèi)部類

????????靜態(tài)內(nèi)部類

????????方法內(nèi)部類

????????匿名內(nèi)部類



3.多態(tài)

面向?qū)ο蟮淖詈笠粋€(gè)特性就是多態(tài)谢翎,那么什么是多態(tài)呢捍靠?多態(tài)就是對(duì)象的多種形態(tài)。

 java里的多態(tài)主要表現(xiàn)在兩個(gè)方面:

1.引用多態(tài)   

父類的引用可以指向本類的對(duì)象森逮;

父類的引用可以指向子類的對(duì)象榨婆;

  這兩句話是什么意思呢,讓我們用代碼來體驗(yàn)一下吊宋,首先我們創(chuàng)建一個(gè)父類Animal和一個(gè)子類Dog纲辽,在主函數(shù)里如下所示:

注意:我們不能使用一個(gè)子類的引用來指向父類的對(duì)象,如:

璃搜。

  這里我們必須深刻理解引用多態(tài)的意義拖吼,才能更好記憶這種多態(tài)的特性。為什么子類的引用不能用來指向父類的對(duì)象呢这吻?我在這里通俗給大家講解一下:就以上面的例子來說吊档,我們能說“狗是一種動(dòng)物”,但是不能說“動(dòng)物是一種狗”唾糯,狗和動(dòng)物是父類和子類的繼承關(guān)系怠硼,它們的從屬是不能顛倒的。當(dāng)父類的引用指向子類的對(duì)象時(shí)移怯,該對(duì)象將只是看成一種特殊的父類(里面有重寫的方法和屬性)香璃,反之,一個(gè)子類的引用來指向父類的對(duì)象是不可行的V畚蟆葡秒!

2.方法多態(tài)

  根據(jù)上述創(chuàng)建的兩個(gè)對(duì)象:本類對(duì)象和子類對(duì)象,同樣都是父類的引用,當(dāng)我們指向不同的對(duì)象時(shí)眯牧,它們調(diào)用的方法也是多態(tài)的蹋岩。

創(chuàng)建本類對(duì)象時(shí),調(diào)用的方法為本類方法学少;

創(chuàng)建子類對(duì)象時(shí)剪个,調(diào)用的方法為子類重寫的方法或者繼承的方法;

使用多態(tài)的時(shí)候要注意:如果我們?cè)谧宇愔芯帉懸粋€(gè)獨(dú)有的方法(沒有繼承父類的方法)版确,此時(shí)就不能通過父類的引用創(chuàng)建的子類對(duì)象來調(diào)用該方法?勰摇!阀坏!

  注意: 繼承是多態(tài)的基礎(chǔ)如暖。

3.引用類型轉(zhuǎn)換 

 了解了多態(tài)的含義后,我們?cè)谌粘J褂枚鄳B(tài)的特性時(shí)經(jīng)常需要進(jìn)行引用類型轉(zhuǎn)換忌堂。

 引用類型轉(zhuǎn)換:

1.?向上類型轉(zhuǎn)換(隱式/自動(dòng)類型轉(zhuǎn)換),是小類型轉(zhuǎn)換到大類型酗洒。

就以上述的父類Animal和一個(gè)子類Dog來說明士修,當(dāng)父類的引用可以指向子類的對(duì)象時(shí),就是向上類型轉(zhuǎn)換樱衷。如:


2.?向下類型轉(zhuǎn)換(強(qiáng)制類型轉(zhuǎn)換)棋嘲,是大類型轉(zhuǎn)換到小類型(有風(fēng)險(xiǎn),可能出現(xiàn)數(shù)據(jù)溢出)。

將上述代碼再加上一行矩桂,我們?cè)俅螌⒏割愞D(zhuǎn)換為子類引用沸移,那么會(huì)出現(xiàn)錯(cuò)誤,編譯器不允許我們直接這么做侄榴,雖然我們知道這個(gè)父類引用指向的就是子類對(duì)象雹锣,但是編譯器認(rèn)為這種轉(zhuǎn)換是存在風(fēng)險(xiǎn)的如:

那么我們?cè)撛趺唇鉀Q這個(gè)問題呢癞蚕,我們可以在animal前加上(Dog)來強(qiáng)制類型轉(zhuǎn)換蕊爵。如:

但是如果父類引用沒有指向該子類的對(duì)象,則不能向下類型轉(zhuǎn)換桦山,雖然編譯器不會(huì)報(bào)錯(cuò)攒射,但是運(yùn)行的時(shí)候程序會(huì)出錯(cuò),如:

  其實(shí)這就是上面所說的子類的引用指向父類的對(duì)象恒水,而強(qiáng)制轉(zhuǎn)換類型也不能轉(zhuǎn)換;岱拧!

還有一種情況是父類的引用指向其他子類的對(duì)象钉凌,則不能通過強(qiáng)制轉(zhuǎn)為該子類的對(duì)象咧最。如:

  這是因?yàn)槲覀冊(cè)诰幾g的時(shí)候進(jìn)行了強(qiáng)制類型轉(zhuǎn)換,編譯時(shí)的類型是我們強(qiáng)制轉(zhuǎn)換的類型,所以編譯器不會(huì)報(bào)錯(cuò)窗市,而當(dāng)我們運(yùn)行的時(shí)候先慷,程序給animal開辟的是Dog類型的內(nèi)存空間,這與Cat類型內(nèi)存空間不匹配咨察,所以無法正常轉(zhuǎn)換论熙。這兩種情況出錯(cuò)的本質(zhì)是一樣的,所以我們?cè)谑褂脧?qiáng)制類型轉(zhuǎn)換的時(shí)候要特別注意這兩種錯(cuò)誤I阌脓诡!下面有個(gè)更安全的方式來實(shí)現(xiàn)向下類型轉(zhuǎn)換。媒役。祝谚。。

?3. instanceof運(yùn)算符酣衷,來解決引用對(duì)象的類型交惯,避免類型轉(zhuǎn)換的安全性問題。

instanceof是Java的一個(gè)二元操作符穿仪,和==席爽,>,<是同一類東東啊片。由于它是由字母組成的只锻,所以也是Java的保留關(guān)鍵字。它的作用是測(cè)試它左邊的對(duì)象是否是它右邊的類的實(shí)例紫谷,返回boolean類型的數(shù)據(jù)齐饮。

  我們來使用instanceof運(yùn)算符來規(guī)避上面的錯(cuò)誤,代碼修改如下:

  利用if語句和instanceof運(yùn)算符來判斷兩個(gè)對(duì)象的類型是否一致笤昨。

補(bǔ)充說明:在比較一個(gè)對(duì)象是否和另一個(gè)對(duì)象屬于同一個(gè)類實(shí)例的時(shí)候祖驱,我們通常可以采用instanceof和getClass兩種方法通過兩者是否相等來判斷咬腋,但是兩者在判斷上面是有差別的羹膳。Instanceof進(jìn)行類型檢查規(guī)則是:你屬于該類嗎?或者你屬于該類的派生類嗎根竿?而通過getClass獲得類型信息采用==來進(jìn)行檢查是否相等的操作是嚴(yán)格的判斷,不會(huì)存在繼承方面的考慮陵像;

總結(jié):在寫程序的時(shí)候,如果要進(jìn)行類型轉(zhuǎn)換寇壳,我們最好使用instanceof運(yùn)算符來判斷它左邊的對(duì)象是否是它右邊的類的實(shí)例醒颖,再進(jìn)行強(qiáng)制轉(zhuǎn)換。

4.抽象類

 定義:抽象類前使用abstract關(guān)鍵字修飾壳炎,則該類為抽象類泞歉。

 使用抽象類要注意以下幾點(diǎn):

1. 抽象類是約束子類必須有什么方法逼侦,而并不關(guān)注子類如何實(shí)現(xiàn)這些方法。

  2. 抽象類應(yīng)用場(chǎng)景:

   a. 在某些情況下腰耙,某個(gè)父類只是知道其子類應(yīng)該包含怎樣的方法榛丢,但無法準(zhǔn)確知道這些子類如何實(shí)現(xiàn)這些方法(可實(shí)現(xiàn)動(dòng)態(tài)多態(tài))。

   b. 從多個(gè)具有相同特征的類中抽象出一個(gè)抽象類挺庞,以這個(gè)抽象類作為子類的模板晰赞,從而避免子類設(shè)計(jì)的隨意性。

3. 抽象類定義抽象方法选侨,只有聲明掖鱼,不需要實(shí)現(xiàn)。抽象方法沒有方法體以分號(hào)結(jié)束援制,抽象方法必須用abstract關(guān)鍵字來修飾戏挡。如:

4、包含抽象方法的類是抽象類晨仑。抽象類中可以包含普通的方法褐墅,也可以沒有抽象方法。如:

 5洪己、抽象類不能直接創(chuàng)建掌栅,可以定義引用變量來指向子類對(duì)象,來實(shí)現(xiàn)抽象方法码泛。

5.接口

 1、概念

接口可以理解為一種特殊的類澄耍,由全局常量和公共的抽象方法所組成噪珊。也可理解為一個(gè)特殊的抽象類,因?yàn)樗谐橄蠓椒ā?/p>

   如果說類是一種具體實(shí)現(xiàn)體齐莲,而接口定義了某一批類所需要遵守的規(guī)范痢站,接口不關(guān)心這些類的內(nèi)部數(shù)據(jù),也不關(guān)心這些類里方法的實(shí)現(xiàn)細(xì)節(jié)选酗,它只規(guī)定這些類里必須提供的某些方法阵难。(這里與抽象類相似)

 2.接口定義的基本語法

[修飾符] [abstract]?interface?接口名 [extends父接口1,2....](多繼承){

0…n常量 (public static final)

0…n 抽象方法(public abstract)

      }???????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

其中[ ]里的內(nèi)容表示可選項(xiàng),可以寫也可以不寫;接口中的屬性都是常量芒填,即使定義時(shí)不添加public static final?修飾符呜叫,系統(tǒng)也會(huì)自動(dòng)加上;接口中的方法都是抽象方法殿衰,即使定義時(shí)不添加public abstract修飾符朱庆,系統(tǒng)也會(huì)自動(dòng)加上。

 3.使用接口

一個(gè)類可以實(shí)現(xiàn)一個(gè)或多個(gè)接口闷祥,實(shí)現(xiàn)接口使用implements關(guān)鍵字娱颊。java中一個(gè)類只能繼承一個(gè)父類,是不夠靈活的,通過實(shí)現(xiàn)多個(gè)接口可以補(bǔ)充箱硕。

  繼承父類實(shí)現(xiàn)接口的語法為:

     [修飾符] class 類名?extends?父類?implements?接口1拴竹,接口2...{

類體部分//如果繼承了抽象類,需要實(shí)現(xiàn)繼承的抽象方法剧罩;要實(shí)現(xiàn)接口中的抽象方法

     }

注意:如果要繼承父類栓拜,繼承父類必須在實(shí)現(xiàn)接口之前,即extends關(guān)鍵字必須在implements關(guān)鍵字前

  補(bǔ)充說明:通常我們?cè)诿粋€(gè)接口時(shí),經(jīng)常以I開頭斑响,用來區(qū)分普通的類菱属。如:IPlayGame

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市舰罚,隨后出現(xiàn)的幾起案子纽门,更是在濱河造成了極大的恐慌,老刑警劉巖营罢,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赏陵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡饲漾,警方通過查閱死者的電腦和手機(jī)蝙搔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來考传,“玉大人吃型,你說我怎么就攤上這事×爬悖” “怎么了勤晚?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)泉褐。 經(jīng)常有香客問我赐写,道長(zhǎng),這世上最難降的妖魔是什么膜赃? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任挺邀,我火速辦了婚禮,結(jié)果婚禮上跳座,老公的妹妹穿的比我還像新娘端铛。我一直安慰自己,他們只是感情好躺坟,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布沦补。 她就那樣靜靜地躺著,像睡著了一般咪橙。 火紅的嫁衣襯著肌膚如雪夕膀。 梳的紋絲不亂的頭發(fā)上虚倒,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音产舞,去河邊找鬼魂奥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛易猫,可吹牛的內(nèi)容都是我干的耻煤。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼准颓,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼哈蝇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起攘已,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤炮赦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后样勃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吠勘,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年峡眶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了剧防。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辫樱,死狀恐怖峭拘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情狮暑,我是刑警寧澤棚唆,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站心例,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鞋囊。R本人自食惡果不足惜止后,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望溜腐。 院中可真熱鬧译株,春花似錦、人聲如沸挺益。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽望众。三九已至匪补,卻和暖如春伞辛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夯缺。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工蚤氏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人踊兜。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓竿滨,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親捏境。 傳聞我的和親對(duì)象是個(gè)殘疾皇子于游,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容