全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)新聞動(dòng)態(tài)正文

Java面試經(jīng)常遇到的問(wèn)題【java培訓(xùn)】

更新時(shí)間:2019-12-03 來(lái)源:黑馬程序員 瀏覽量:

面向?qū)ο缶幊?OOP)

Java是一種支持并發(fā)、基于類(lèi)和面向?qū)ο蟮挠?jì)算機(jī)編程語(yǔ)言。面向?qū)ο筌浖_(kāi)發(fā)的優(yōu)勢(shì)如下:

?(1)代碼開(kāi)發(fā)是模塊化的,易于維護(hù)和修改。

?(2)代碼重復(fù)用。

?(3)提高代碼的可靠性和靈活性。

?(4)提高代碼的可理解性。

面向?qū)ο缶幊叹哂性S多重要的特性,如封裝、繼承、多態(tài)和抽象。

封裝

封裝使對(duì)象能夠隱藏內(nèi)部特性和行為。對(duì)象提供其他對(duì)象可以訪(fǎng)問(wèn)的方法來(lái)更改其內(nèi)部數(shù)據(jù)。在Java中,有三個(gè)修飾符:public、private和protected。每個(gè)修飾符賦予位于同一個(gè)包或不同包中的其他對(duì)象不同的訪(fǎng)問(wèn)權(quán)限。

以下是使用封裝的一些好處:

通過(guò)隱藏對(duì)象的屬性來(lái)保護(hù)對(duì)象的內(nèi)部狀態(tài);提高代碼的可用性和可維護(hù)性,因?yàn)閷?duì)象的行為可以單獨(dú)更改或擴(kuò)展;禁止對(duì)象之間的不良交互以提高模塊性。

多態(tài)

多態(tài)性是編程語(yǔ)言向不同的底層數(shù)據(jù)類(lèi)型展示相同接口的能力。多態(tài)類(lèi)型上的操作可以應(yīng)用于其他類(lèi)型的值。

繼承

繼承使對(duì)象能夠從基類(lèi)中獲取字段和方法。繼承提供代碼重用的代碼,并且還可以在不修改它們的情況下向現(xiàn)有類(lèi)添加新特性。

抽象

抽象是將概念與具體示例分離的步驟,因此創(chuàng)建類(lèi)時(shí)應(yīng)基于其功能而不是實(shí)現(xiàn)細(xì)節(jié)。Java支持創(chuàng)建只公開(kāi)接口而不公開(kāi)方法實(shí)現(xiàn)的抽象類(lèi)。這種抽象技術(shù)的主要目的是將類(lèi)的行為與實(shí)現(xiàn)細(xì)節(jié)分離。推薦了解黑馬程序員java培訓(xùn)課程

抽象和封裝的不同點(diǎn)

抽象和封裝是相輔相成的概念。一方面,抽象涉及對(duì)象的行為。另一方面,封裝關(guān)注對(duì)象行為的細(xì)節(jié)。封裝通常是通過(guò)隱藏對(duì)象的內(nèi)部狀態(tài)信息來(lái)完成的。因此,封裝可以看作是一種提供抽象的策略。

分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!