最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java面試題匯總《Java基礎(chǔ)、語法21-25》

2023-04-07 19:57 作者:龍龍JDA  | 我要投稿

21.類和對象的關(guān)系

類是對象的抽象,而對象是類的具體實(shí)例。類是抽象的,不占用內(nèi)存,而對象是具體的,占用存儲空間。類是用于創(chuàng)建對象的藍(lán)圖,它是一個定義包括在特定類型的對象中的方法和變量的軟件模板。

類和對象好比圖紙和實(shí)物的關(guān)系,模具和鑄件的關(guān)系。

比如人類就是一個概念,人類具有身高,體重等屬性。人類可以做吃飯、說話等方法。

小明就是一個具體的人,也就是實(shí)例,他的屬性是具體的身高200cm,體重180kg,他做的方法是具體的吃了一碗白米飯,說了“12345”這樣一句話。

22.面向過程和面向?qū)ο蟮膮^(qū)別

兩者都是軟件開發(fā)思想,先有面向過程,后有面向?qū)ο?。在大型項目中,針對面向過程的不足推出了面向?qū)ο箝_發(fā)思想。

比喻

蔣介石和毛澤東分別是面向過程和面向?qū)ο蟮慕艹龃?,這樣充分說明,在解決復(fù)制問題時,面向?qū)ο笥懈蟮膬?yōu)越性。

面向過程是蛋炒飯,面向?qū)ο笫巧w澆飯。蓋澆飯的好處就是“菜”“飯”分離,從而提高了制作蓋澆飯的靈活性。飯不滿意就換飯,菜不滿意換菜。用軟件工程的專業(yè)術(shù)語就是“可維護(hù)性”比較好,“飯” 和“菜”的耦合度比較低。

區(qū)別

編程思路不同: 面向過程以實(shí)現(xiàn)功能的函數(shù)開發(fā)為主,而面向?qū)ο笠紫瘸橄蟪鲱?、屬性及其方法,然后通過實(shí)例化類、執(zhí)行方法來完成功能。

封裝性:都具有封裝性,但是面向過程是封裝的是功能,而面向?qū)ο蠓庋b的是數(shù)據(jù)和功能。

面向?qū)ο缶哂欣^承性和多態(tài)性,而面向過程沒有繼承性和多態(tài)性,所以面向?qū)ο髢?yōu)勢是明顯。

方法重載和方法重寫(覆蓋)的區(qū)別

23.this和super關(guān)鍵字的作用

this是對象內(nèi)部指代自身的引用,同時也是解決成員變量和局部變量同名問題;this可以調(diào)用成員變量,不能調(diào)用局部變量;this也可以調(diào)用成員方法,但是在普通方法中可以省略this,在構(gòu)造方法中不允許省略,必須是構(gòu)造方法的第一條語句。,而且在靜態(tài)方法當(dāng)中不允許出現(xiàn)this關(guān)鍵字。

super代表對當(dāng)前對象的直接父類對象的引用,super可以調(diào)用直接父類的成員變量(注意權(quán)限修飾符的影響,比如不能訪問private成員)

super可以調(diào)用直接父類的成員方法(注意權(quán)限修飾符的影響,比如不能訪問private成員);super可以調(diào)用直接父類的構(gòu)造方法,只限構(gòu)造方法中使用,且必須是第一條語句。

24.static關(guān)鍵字的作用

static可以修飾變量、方法、代碼塊和內(nèi)部類

static屬性屬于這個類所有,即由該類創(chuàng)建的所有對象共享同一個static屬性??梢詫ο髣?chuàng)建后通過對象名.屬性名和類名.屬性名兩種方式來訪問。也可以在沒有創(chuàng)建任何對象之前通過類名.屬性名的方式來訪問。

static變量和非static變量的區(qū)別(都是成員變量,不是局部變量)

1.在內(nèi)存中份數(shù)不同

不管有多少個對象,static變量只有1份。對于每個對象,實(shí)例變量都會有單獨(dú)的一份

static變量是屬于整個類的,也稱為類變量。而非靜態(tài)變量是屬于對象的,也稱為實(shí)例變量

2.在內(nèi)存中存放的位置不同

2.在內(nèi)存中存放的位置不同

3.訪問的方式不同

實(shí)例變量: 對象名.變量名 stu1.name="小明明";

靜態(tài)變量:對象名.變量名 stu1.schoolName="西二旗小學(xué)"; 不推薦如此使用

類名.變量名 Student.schoolName="東三旗小學(xué)"; 推薦使用

4.在內(nèi)存中分配空間的時間不同

Student.schoolName="東三旗小學(xué)";或者Student stu1 = new Student("小明","男",20,98);

static方法也可以通過對象名.方法名和類名.方法名兩種方式來訪問

static代碼塊。當(dāng)類被第一次使用時(可能是調(diào)用static屬性和方法,或者創(chuàng)建其對象)執(zhí)行靜態(tài)代碼塊,且只被執(zhí)行一次,主要作用是實(shí)現(xiàn)static屬性的初始化。

static內(nèi)部類:屬于整個外部類,而不是屬于外部類的每個對象。不能訪問外部類的非靜態(tài)成員(變量或者方法),.可以訪問外部類的靜態(tài)成員

25.final和abstract關(guān)鍵字的作用

final和abstract是功能相反的兩個關(guān)鍵字,可以對比記憶

abstract可以用來修飾類和方法,不能用來修飾屬性和構(gòu)造方法;使用abstract修飾的類是抽象類,需要被繼承,使用abstract修飾的方法是抽象方法,需要子類被重寫。

final可以用來修飾類、方法和屬性,不能修飾構(gòu)造方法。使用final修飾的類不能被繼承,使用final修飾的方法不能被重寫,使用final修飾的變量的值不能被修改,所以就成了常量。

特別注意:final修飾基本類型變量,其值不能改變,由原來的變量變?yōu)槌A?;但是final修飾引用類型變量,棧內(nèi)存中的引用不能改變,但是所指向的堆內(nèi)存中的對象的屬性值仍舊可以改變。例如

package?com.bjsxt;
?
class?Test {
????public?static?void?main(String[] args) {
????????final?Dog dog =?new?Dog("歐歐");
????????dog.name =?"美美";//正確
????????dog =?new?Dog("亞亞");//錯誤
????}
}

資料學(xué)習(xí):

評論“資料”+后臺主動和我打招呼即可

Java面試題匯總《Java基礎(chǔ)、語法21-25》的評論 (共 條)

分享到微博請遵守國家法律
枞阳县| 榆社县| 咸丰县| 乐亭县| 玉田县| 永清县| 大姚县| 巢湖市| 北安市| 井研县| 彰化县| 安丘市| 界首市| 巴林右旗| 渭源县| 双江| 高碑店市| 陆丰市| 长宁县| 乳山市| 措勤县| 白朗县| 新泰市| 元江| 南木林县| 通河县| 陈巴尔虎旗| 余庆县| 珠海市| 祁门县| 海门市| 永新县| 宁陵县| 东山县| 犍为县| 镇原县| 太康县| 峨眉山市| 珲春市| 米脂县| 齐河县|