很多Java程序員都想在最短的時(shí)間內(nèi)收獲相關(guān)核心知識(shí)點(diǎn),也是為了更全面、更深入地了解Java技術(shù),以此保證自己能夠成功拿下面試。小編就來(lái)跟大家分享一些2020年Java程序員面試基礎(chǔ)題,助力大家成功開(kāi)啟職場(chǎng)生涯。
1.抽象和封裝的不同點(diǎn)。
抽象和封裝是互補(bǔ)的概念。抽象關(guān)注對(duì)象的行為,而封裝關(guān)注對(duì)象行為的細(xì)節(jié)。一般是通過(guò)隱藏對(duì)象內(nèi)部狀態(tài)信息做到封裝,因此,封裝可以看成是用來(lái)提供抽象的一種策略。
2.是否可以在Static環(huán)境中訪問(wèn)非Static變量?
Static變量在Java中是屬于類(lèi)的,它在所有實(shí)例中的值是一樣的。當(dāng)類(lèi)被Java虛擬機(jī)載入的時(shí)候,會(huì)對(duì)Static變量進(jìn)行初始化。如果代碼嘗試不用實(shí)例來(lái)訪問(wèn)非Static的變量,編譯器會(huì)報(bào)錯(cuò),因?yàn)檫@些變量還沒(méi)有被創(chuàng)建出來(lái),還沒(méi)有跟任何實(shí)例關(guān)聯(lián)上。
3.Java支持多繼承么?如果不支持,如何實(shí)現(xiàn)?
不支持,Java不支持多繼承。每個(gè)類(lèi)都只能繼承一個(gè)類(lèi),但是可以實(shí)現(xiàn)多個(gè)接口。它在Java中是單繼承的,也就是說(shuō)一個(gè)類(lèi)只能繼承一個(gè)父類(lèi)。Java中實(shí)現(xiàn)多繼承有兩種方式,一是接口,二是內(nèi)部類(lèi)。
4.Array和ArrayList有什么區(qū)別?
Array可以容納基本類(lèi)型和對(duì)象,而ArrayList只能容納對(duì)象。Array是指定大小的,而ArrayList大小是固定的Array可以包含基本類(lèi)型和對(duì)象類(lèi)型,ArrayList只能包含對(duì)象類(lèi)型。Array大小是固定的,ArrayList的大小是動(dòng)態(tài)變化的。
5.HashSet的底層實(shí)現(xiàn)是什么?
HashSet的實(shí)現(xiàn)是依賴(lài)于HashMap的,HashSet的值都是存儲(chǔ)在HashMap中的。在HashSet的構(gòu)造法中會(huì)初始化一個(gè)HashMap對(duì)象,HashSet不允許值重復(fù)。因此,HashSet的值是作為HashMap的Key存儲(chǔ)在HashMap中的,當(dāng)存儲(chǔ)的值已經(jīng)存在時(shí)返回False。
以上就是長(zhǎng)沙達(dá)內(nèi)教育Java培訓(xùn)機(jī)構(gòu)小編介紹的“2020年Java程序員面試題下載”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)推薦
最新最全java面試題及答案(初級(jí)到高級(jí))
史上最全的中高級(jí)JAVA工程師面試題及答案匯總
Java高級(jí)開(kāi)發(fā)工程師面試題
2019史上最全java面試題題庫(kù)大全800題
哪有資深java工程師面試題