企鵝5年工作經(jīng)驗(yàn)大佬和你談Java入門(mén)

一、jdk jre jvm之間的關(guān)系

jdk: 開(kāi)發(fā)工具包晴埂,如果你要開(kāi)發(fā)java程序究反,必須安裝jdk

jre: Java的運(yùn)行環(huán)境,如果測(cè)試運(yùn)行Java環(huán)境必須安裝jre

jvm: Java虛擬機(jī)儒洛,實(shí)現(xiàn)Java跨平臺(tái)的核心

jdk 包含 jre 包含 jvm

二精耐、Java運(yùn)行過(guò)程

Java程序→javac編譯 成class→通過(guò)類(lèi)加載器去加載class文件→Java命令去運(yùn)行Java程序

三、gc: 垃圾回收琅锻,一個(gè)程序去運(yùn)進(jìn)行卦停,是需要在電腦內(nèi)存中去運(yùn)行,涉及到申請(qǐng)內(nèi)存和釋放內(nèi)存恼蓬,有了gc程序就不需要手動(dòng)去釋放內(nèi)存了

四惊完、類(lèi)和對(duì)象

1,什么是面向?qū)ο螅?什么是面型過(guò)程处硬?

面向?qū)ο螅涸陂_(kāi)發(fā)過(guò)程中专执,注重的是誰(shuí)能幫我去完成這件事,有對(duì)象用對(duì)象郁油,沒(méi)有對(duì)象創(chuàng)建一個(gè)對(duì)象(點(diǎn)外賣(mài))

優(yōu)點(diǎn):復(fù)用性更高本股,容易維護(hù)和擴(kuò)展;缺點(diǎn):開(kāi)銷(xiāo)比較大

面向過(guò)程:注重的是中間的過(guò)程桐腌,每一個(gè)步驟都需要自己去完成

優(yōu)點(diǎn):開(kāi)銷(xiāo)必面向?qū)ο笮≈粝裕阅芨咭稽c(diǎn);缺點(diǎn):不容易擴(kuò)展和維護(hù) (自己做飯 )

怎么去創(chuàng)建一個(gè)對(duì)象案站? 類(lèi)名 對(duì)象名=new 類(lèi)名()

類(lèi)和對(duì)象是面向?qū)ο蠓椒ǖ暮诵母拍罟蟆n?lèi)是對(duì)一類(lèi)事物的描述,是抽象的蟆盐,概念上的定義承边;對(duì)象是實(shí)際存在的該類(lèi)事物的每個(gè)個(gè)體,因而也稱(chēng)實(shí)例石挂。開(kāi)發(fā)偶成中注重類(lèi)的設(shè)計(jì)博助。(汽車(chē)圖紙,汽車(chē)實(shí)例)

類(lèi)與對(duì)象的關(guān)系:類(lèi)就是對(duì)象的描述痹愚,對(duì)象就是該類(lèi)的實(shí)例

五富岳、成員變量和局部變量的區(qū)別:

1蛔糯,定義的位置不同

成員變量定義在類(lèi)的內(nèi)部,方法之外

局部變量定義在方法的內(nèi)部

2窖式,作用域不同

成員變量作用在類(lèi)的內(nèi)部

局部變量作用在方法的內(nèi)部

3蚁飒,默認(rèn)值不同

成員變量有默認(rèn)值

局部變量沒(méi)有默認(rèn)值

4,內(nèi)存位置不同

成員變量保存在堆里面

局部變量保存在棧里面

5萝喘,成員變量的訪問(wèn)修飾符有四個(gè): public(公共) protected(受保護(hù)的) 缺省 private(私有的)

局部變量沒(méi)有訪問(wèn)修飾符

六淮逻、什么是構(gòu)造方法,構(gòu)造方法的作用

在我們java中有時(shí)候會(huì)使用一個(gè)特殊的方法叫構(gòu)造方法阁簸,也叫構(gòu)造器

構(gòu)造方法最最大的作用就是創(chuàng)建對(duì)象爬早,就我們new的時(shí)候就是調(diào)用了構(gòu)造方法

七、如何創(chuàng)建構(gòu)造方法强窖?

public 構(gòu)造方法名(參數(shù)){ }

注意:

1.構(gòu)造方法不能定義返回值

2.構(gòu)造方法名必須和你類(lèi)的名字一致,大小寫(xiě)也得一致

構(gòu)造方法也是一個(gè)方法削祈,那么可以進(jìn)行方法重載嗎翅溺?

可以

構(gòu)造方法的作用:

1.無(wú)參構(gòu)造方法就是創(chuàng)建對(duì)象

2.有參構(gòu)造方法就是在創(chuàng)建對(duì)象的同時(shí)給屬性賦值

注意:

如果在定義一個(gè)類(lèi)時(shí)候,我沒(méi)有去定義構(gòu)造方法髓抑,系統(tǒng)默認(rèn)會(huì)提供一個(gè)無(wú)參的構(gòu)造方法

如果你定義了構(gòu)造方法咙崎,系統(tǒng)將不會(huì)在提供無(wú)參構(gòu)造方法

重點(diǎn):如果你定義了有參構(gòu)造方法,一定要加上無(wú)參構(gòu)造方法

七吨拍、參數(shù)

形參:在方法定義的時(shí)候?qū)嶋H定義的參數(shù)褪猛,寫(xiě)在方法小括號(hào);里面的參數(shù)

實(shí)參:在調(diào)用方法的時(shí)候羹饰,實(shí)際傳入到方法里面的數(shù)據(jù)

參數(shù)傳遞過(guò)程中伊滋,有兩項(xiàng)規(guī)則

1,對(duì)于基本數(shù)據(jù)類(lèi)型來(lái)說(shuō)队秩,形參的操作不會(huì)影響實(shí)參

2笑旺,對(duì)于引用數(shù)據(jù)類(lèi)型來(lái)說(shuō),形參的操作會(huì)影響實(shí)參馍资,因?yàn)閭魅氲氖嵌牙锩娴牡刂吠仓鳎螀⒑蛯?shí)參指向的是同一塊地址值

八、封裝性

1鸟蟹,什么是封裝性乌妙?

把屬性通過(guò)方法封裝起來(lái),因?yàn)槲覀冎苯硬僮鲗傩缘臅r(shí)候可能會(huì)出現(xiàn)一些不符合實(shí)際情況的問(wèn)題建钥,封裝起來(lái)以后藤韵,在方法里面加入邏輯對(duì)屬性限制。

2熊经,面向?qū)ο蟮牡谝淮筇卣鳎悍庋b性

當(dāng)我創(chuàng)建完對(duì)象以后荠察,如果直接通過(guò)“對(duì)象名.屬性”的方式進(jìn)行賦值的話置蜀,可能會(huì)出現(xiàn)不符合實(shí)際情況的問(wèn)題,所以我們不考慮使用“對(duì)象名.屬性名”的方式進(jìn)行賦值悉盆,而是創(chuàng)建一個(gè)方法盯荤,通過(guò)"對(duì)象名.方法名"的方式進(jìn)行賦值,因?yàn)槲覀兛梢栽诜椒ɡ锩鎸?xiě)大量的業(yè)務(wù)邏輯限制屬性值焕盟。

3秋秤,如何使用封裝

將屬性私有化 private

提供對(duì)應(yīng)的get 和set 方法,獲取屬性值和給屬性賦值

4脚翘,封裝的好處

隱藏一個(gè)類(lèi)中不需要對(duì)外提供的實(shí)現(xiàn)細(xì)節(jié)灼卢;使用者只能通過(guò)事先定制好的方法來(lái)訪問(wèn)數(shù)據(jù),可以方便的加入控制邏輯来农,限制對(duì)屬性的不合理操作鞋真;便于修改,增強(qiáng)代碼的可維護(hù)性沃于;安全性更好

5涩咖,面向?qū)ο蟮牡诙筇卣鳎豪^承性?

1.什么是繼承繁莹?允許子類(lèi)擁有父類(lèi)的屬性和行為

2.優(yōu)點(diǎn):提高了代碼的復(fù)用性

缺點(diǎn):就是類(lèi)和類(lèi)之間的耦合度變高了

3.繼承的語(yǔ)法

class 子類(lèi) extends 父類(lèi){

}

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

(1).子類(lèi)繼承父類(lèi)以后檩互,父類(lèi)聲明的屬性和行為子類(lèi)都可以獲取 父》兒子

(2).子類(lèi)除了通過(guò)繼承獲取了父類(lèi)的屬性和方法外,還可以自己定義獨(dú)有的屬性和方法 師父》徒弟

子類(lèi)的功能永遠(yuǎn)比父類(lèi)多

(3).java是單繼承的咨演,一個(gè)子類(lèi)只能繼承一個(gè)父類(lèi),一個(gè)父類(lèi)可以有多個(gè)子類(lèi)

一個(gè)子類(lèi)可以在派生一個(gè)子類(lèi)嗎闸昨?可以 新派生的子類(lèi)同時(shí)可以獲取學(xué)生類(lèi)里面的獨(dú)有屬性和方法,

還可以或人類(lèi)里面的屬性和方法 孫子>父親>爺爺

5.方法重寫(xiě):如果父類(lèi)的方法體滿足不了子類(lèi)要求薄风,子類(lèi)可以重寫(xiě)父類(lèi)的方法

? ? 要求:

? ? (1)子類(lèi)重寫(xiě)父類(lèi)的方法饵较,要求方法名、形參列表遭赂、返回值類(lèi)別必須和父類(lèi)一致

? ? (2)子類(lèi)重寫(xiě)的方法的訪問(wèn)修飾符權(quán)限不能低于父類(lèi)的訪問(wèn)修飾符

? ? (3)子類(lèi)方法和父類(lèi)方法必須同為static或者非static

常見(jiàn)面試題*

方法重載(overload)和方法重寫(xiě)(override)的區(qū)別

(1).方法重載要求方法名相同告抄、形參列表必須不同(參數(shù)個(gè)數(shù)、類(lèi)型嵌牺、類(lèi)型的順序)和返回值無(wú)關(guān)

(2).方法重寫(xiě)要求方法名打洼、形參列表、返回值類(lèi)型必須和父類(lèi)一致逆粹,訪問(wèn)修飾符不能小于父類(lèi)的

(3).方法重載必須在同一個(gè)類(lèi)里面進(jìn)行重載

(4).方法重寫(xiě)必須存在繼承關(guān)系,發(fā)生在子類(lèi)和父類(lèi)之間

九募疮、運(yùn)行一段程序,申請(qǐng)電腦內(nèi)存僻弹,內(nèi)存都是jvm進(jìn)行管理的

內(nèi)存會(huì)分為五部分:

1阿浓,棧(stack):主要就是存放局部變量

2,堆(Heap):new出來(lái)的東西都在堆里面蹋绽,在對(duì)堆里面的變量都是成員變量芭毙,都會(huì)要默認(rèn)值

整數(shù):默認(rèn)值為0筋蓖;

浮點(diǎn)數(shù)默認(rèn)值為0.0

字符默認(rèn)是空格

布爾默認(rèn)是false

引用類(lèi)型默認(rèn)是null

3, 方法區(qū)(Method Area):存放class文件

4,本地方法區(qū):(Native Method Area):與操作系統(tǒng)有關(guān)

5退敦,寄存器(pc Register):與cup有關(guān)

十粘咖、final關(guān)鍵字

可以修飾什么?

1.類(lèi)

2.方法

3.成員變量

4.局部變量

修飾類(lèi)侈百,代表這個(gè)類(lèi)是一個(gè)最終類(lèi)

這個(gè)類(lèi)不能被繼承瓮下,但是可以繼承別的類(lèi)

修飾方法,就是一個(gè)最終方法

這個(gè)方法不能被重寫(xiě)

修飾成員變量钝域,成員變量的值不可改變

1.成員變量不會(huì)再有默認(rèn)值

2.如果加了final關(guān)鍵字讽坏,需要對(duì)成員變量直接賦值

修飾局部變量,局部變量就變成了一個(gè)常量

一旦賦值不可改變

十一例证、什么是多態(tài)路呜?

1,多態(tài)的理解

(1)同一個(gè)動(dòng)作作用于不同的對(duì)象產(chǎn)生的不同的行為(多種形態(tài))

(2)多態(tài)就是一個(gè)對(duì)象的多種形態(tài)(金毛是寵物也是狗)

2织咧,多態(tài)的體現(xiàn)方式

(1)基于繼承的實(shí)現(xiàn)胀葱,不同的子類(lèi)重寫(xiě)了父親方法以后體現(xiàn)的不同形式

(2)接口的實(shí)現(xiàn)

3,以下都是多態(tài)的條件

(1)繼承:子類(lèi)去繼承父類(lèi) Dog extends Pet

(2) 重寫(xiě):子類(lèi)重寫(xiě)父類(lèi)的方法

(3)重載:同一個(gè)方法名烦感,根據(jù)形參不同巡社,實(shí)現(xiàn)的功能也不同

(4)子類(lèi)對(duì)象的多態(tài)性:父類(lèi)的引用指向子類(lèi)

4膛堤,多態(tài)的類(lèi)型

(1)編譯時(shí)的多態(tài):方法的重載(在編譯期間手趣,請(qǐng)用相同的方法名根據(jù)不同的參數(shù)列表來(lái)確定調(diào)用的是哪個(gè)方法)

(2)運(yùn)行時(shí)的多態(tài):方法的重寫(xiě)(只有在運(yùn)行期間在能確定使用的對(duì)象類(lèi)型,才能確定變量的引用指向哪個(gè)實(shí)例)

十二、程序分為兩種狀態(tài): 編譯狀態(tài)肥荔,運(yùn)行狀態(tài)

對(duì)于多態(tài)來(lái)說(shuō)绿渣,編譯時(shí)看左邊,會(huì)把PI變量看成是pet類(lèi)類(lèi)型燕耿;運(yùn)行時(shí)看右邊中符,真正執(zhí)行的對(duì)象,也就是子類(lèi)對(duì)象誉帅,執(zhí)行的就是子類(lèi)重寫(xiě)后的方法

十三淀散、向上轉(zhuǎn)型和向下轉(zhuǎn)型

向上轉(zhuǎn)型:將子類(lèi)對(duì)象交給父類(lèi)的引用,可以自動(dòng)類(lèi)型轉(zhuǎn)換

向下轉(zhuǎn)型:把父類(lèi)轉(zhuǎn)成子類(lèi)蚜锨,需要強(qiáng)制類(lèi)型轉(zhuǎn)換

十四档插、super關(guān)鍵字和this關(guān)鍵字的區(qū)別?*

this調(diào)用本類(lèi)中的屬性亚再,也就是類(lèi)中的成員變量郭膛;

super關(guān)鍵字可以修飾屬性、方法氛悬、構(gòu)造方法

1.當(dāng)子類(lèi)和父類(lèi)的屬性名同名時(shí)则剃,默認(rèn)會(huì)使用子類(lèi)的屬性吧耘柱,咱們可以通過(guò)

"super.屬性名"調(diào)用父類(lèi)的屬性

2.子類(lèi)重寫(xiě)父類(lèi)方法后,如果子類(lèi)想再次調(diào)用父類(lèi)重寫(xiě)前的方法棍现,可以super.方法名

調(diào)用父類(lèi)重寫(xiě)前的方法

3.super修飾構(gòu)造方法调煎,通過(guò)在子類(lèi)構(gòu)造方法中使用"super(形參)"來(lái)顯示的調(diào)用父類(lèi)的構(gòu)造方法

(1)super()必須放在構(gòu)造方法的首行

(2)在構(gòu)造方法內(nèi)部"this(形參)"或"super(形參)"只能出現(xiàn)一個(gè)

(3)在構(gòu)造方法中,如果不顯示的使用"super(形參)"的方式調(diào)用父類(lèi)對(duì)應(yīng)的構(gòu)造方法轴咱,默認(rèn)會(huì)

調(diào)用父類(lèi)的構(gòu)造方法汛蝙,只是給你隱藏掉了

Object:所有的類(lèi)都繼承Object

十五、

面試重點(diǎn):==和equals的區(qū)別朴肺?

1窖剑,= =: 比較運(yùn)算符,

(1)可以在基本數(shù)據(jù)類(lèi)型和引用數(shù)據(jù)類(lèi)型中使用

(2)如果比較基本數(shù)據(jù)類(lèi)型的話戈稿,比較的是比較的是兩個(gè)變量的值是否相等

(3)如果比較引用數(shù)據(jù)類(lèi)型的話西土,比較的是兩個(gè)對(duì)象的地址值是否相等

2,equals()的使用

(1)equals 是一個(gè)方法

(2)只能對(duì)引用書(shū)庫(kù)類(lèi)型比較

(3)object類(lèi)里面是這么定義的

public boolean equals (object obj){

return(this = = obj);

}

發(fā)現(xiàn)它還是通過(guò)= = 進(jìn)行補(bǔ)繳的兩個(gè)對(duì)象鞍盗。object定義的兩個(gè)方法和= = 的作用一樣需了,實(shí)際比較的是兩個(gè)對(duì)象的地址值是否相等

(4)像String,Date,File, 包裝類(lèi)等等都重寫(xiě)了equals方法般甲,沖刺額以后的比較的不是地址肋乍,而是兩個(gè)對(duì)象的“實(shí)體內(nèi)容”是否相等

(5)通常情況下,我們自己定義的類(lèi)是沒(méi)有重寫(xiě)equals方法的敷存,如果比較兩個(gè)對(duì)象的實(shí)體內(nèi)容是否相等墓造,我們需要重寫(xiě)equals方法,一般情況下都會(huì)進(jìn)行重寫(xiě)

重寫(xiě)原則:比較兩個(gè)對(duì)象的實(shí)體內(nèi)容是否相等锚烦,如果沒(méi)有重寫(xiě)觅闽,沒(méi)有區(qū)別,如果重寫(xiě)了涮俄,那么equals比較的是兩個(gè)內(nèi)容是否相等

十六蛉拙,List 和Set 的區(qū)別:

都是collection子接口

list:存儲(chǔ)有序的,可以重復(fù)的數(shù)據(jù)彻亲,以數(shù)組為底層實(shí)現(xiàn)

set:存儲(chǔ)無(wú)序的孕锄,不可重復(fù)的數(shù)據(jù),以map為底層實(shí)現(xiàn)

十七苞尝,三種遍歷方式:

1畸肆,迭代器,Iterator, hasnext() 和 next()

Collection coll = new SrrayList();

coll.add(1);

coll.add(“name”);

Iterator i = coll.iterator();

while(i.hasnext()){

System.out.println(i.next());

}

2, 增強(qiáng)for循環(huán)

for(Object o:coll){

System.out.priltln(o);

}

3,把集合轉(zhuǎn)成數(shù)組

Object [ ] objects = new.toArray();

for(object o:objects){

System.out.pritln(o);

}

十八野来,

ArrayrList 恼除、LinkedList 、Vector

相同點(diǎn):

1,都是list集合的實(shí)現(xiàn)類(lèi)

2豁辉,存在數(shù)據(jù)的特點(diǎn)相同:有序的令野,可重復(fù)的

不同點(diǎn):

1,ArraryList:主要實(shí)現(xiàn)類(lèi)徽级,底層就是數(shù)組 Object[] elementData, 線程不安全气破,查詢速度比較快

2,LinkedList: 底層使用雙向鏈條的形式進(jìn)行存儲(chǔ)的餐抢,添加现使、刪除速度高

3,Vector:是list接口的古老實(shí)現(xiàn)類(lèi)旷痕,線程安全的碳锈,效率比較低,Object[] elementData

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末欺抗,一起剝皮案震驚了整個(gè)濱河市售碳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绞呈,老刑警劉巖贸人,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異佃声,居然都是意外死亡艺智,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)圾亏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)十拣,“玉大人,你說(shuō)我怎么就攤上這事召嘶「妇В” “怎么了哮缺?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵弄跌,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我尝苇,道長(zhǎng)铛只,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任糠溜,我火速辦了婚禮淳玩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘非竿。我一直安慰自己蜕着,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著承匣,像睡著了一般蓖乘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上韧骗,一...
    開(kāi)封第一講書(shū)人閱讀 51,231評(píng)論 1 299
  • 那天嘉抒,我揣著相機(jī)與錄音,去河邊找鬼袍暴。 笑死些侍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的政模。 我是一名探鬼主播岗宣,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼淋样!你這毒婦竟也來(lái)了狈定?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤习蓬,失蹤者是張志新(化名)和其女友劉穎纽什,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體躲叼,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芦缰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枫慷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片让蕾。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖或听,靈堂內(nèi)的尸體忽然破棺而出探孝,到底是詐尸還是另有隱情,我是刑警寧澤誉裆,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布顿颅,位于F島的核電站,受9級(jí)特大地震影響足丢,放射性物質(zhì)發(fā)生泄漏粱腻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一斩跌、第九天 我趴在偏房一處隱蔽的房頂上張望绍些。 院中可真熱鬧,春花似錦耀鸦、人聲如沸柬批。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)氮帐。三九已至锻霎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間揪漩,已是汗流浹背旋恼。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奄容,地道東北人冰更。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像昂勒,于是被迫代替她去往敵國(guó)和親蜀细。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

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