Java高頻OOP(面向對象編程)面試50題(含答案)(一)

1玫坛、什么是B/S架構滋觉?什么是C/S架構

1.B/S(Browser/Server)到千,瀏覽器/服務器程序

2.C/S(Client/Server)昌渤,客戶端/服務端,桌面應用程序

2憔四、Java都有那些開發(fā)平臺愈涩?

1.JAVA SE:主要用在客戶端開發(fā)

2.JAVA EE:主要用在web應用程序開發(fā)

3.JAVA ME:主要用在嵌入式應用程序開發(fā)

3、什么是JDK加矛?什么是JRE?

1.JDK:java development kit:java開發(fā)工具包履婉,是開發(fā)人員所需要安裝的環(huán)境

2.JRE:java runtime environment:java運行環(huán)境,java程序運行所需要安裝的環(huán)境

4斟览、Java語言有哪些特點

1.簡單易學毁腿、有豐富的類庫

2.面向對象(Java最重要的特性,讓程序耦合度更低苛茂,內聚性更高)

3.與平臺無關性(JVM是Java跨平臺使用的根本)

4.可靠安全

5.支持多線程

5已烤、面向對象和面向過程的區(qū)別

1.面向過程:一種較早的編程思想,顧名思義就是該思想是站著過程的角度思考問題妓羊,強調的就是功能行為胯究,功能的執(zhí)行過程,即先后順序躁绸,而每一個功能我們都使用函數(shù)(類似于方法)把這些步驟一步一步實現(xiàn)裕循。使用的時候依次調用函數(shù)就可以了。

2.面向對象:一種基于面向過程的新編程思想净刮,顧名思義就是該思想是站在對象的角度思考問題剥哑,我們把多個功能合理放到不同對象里,強調的是具備某些功能的對象淹父。具備某種功能的實體株婴,稱為對象。面向對象最小的程序單元是:類暑认。面向對象更加符合常規(guī)的思維方式困介,穩(wěn)定性好,可重用性強蘸际,易于開發(fā)大型軟件產品座哩,有良好的可維護性。在軟件工程上捡鱼,面向對象可以使工程更加模塊化八回,實現(xiàn)更低的耦合和更高的內聚。

6驾诈、什么是數(shù)據結構缠诅?

計算機保存,組織數(shù)據的方式

7乍迄、Java的數(shù)據結構有那些管引?

1.線性表(ArrayList)

2.鏈表(LinkedList)

3.棧(Stack)

4.隊列(Queue)

5.圖(Map)

6.樹(Tree)

8、什么是OOP?

面向對象編程

9闯两、類與對象的關系?

類是對象的抽象褥伴,對象是類的具體,類是對象的模板漾狼,對象是類的實例

10重慢、Java中有幾種數(shù)據類型

整型:byte,short,int,long

浮點型:?oat,double

字符型:char

布爾型:boolean

11、標識符的命名規(guī)則逊躁。

1.標識符的含義:是指在程序中似踱,我們自己定義的內容,譬如稽煤,類的名字核芽,方法名稱以及變量名稱等等,都是標識符酵熙。

2.命名規(guī)則:(硬性要求)標識符可以包含英文字母轧简,0-9的數(shù)字,$以及_ 標識符不能以數(shù)字開頭標識符不是關鍵字

3.命名規(guī)范:(非硬性要求)類名規(guī)范:首字符大寫匾二,后面每個單詞首字母大寫(大駝峰式)哮独。 變量名規(guī)范:首字母小寫,后面每個單詞首字母大寫(小駝峰式)察藐。方法名規(guī)范:同變量名借嗽。

12、instanceof關鍵字的作用

instanceof 嚴格來說是Java中的一個雙目運算符转培,用來測試一個對象是否為一個類的實例恶导,用法為:

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

其中 obj 為一個對象,Class 表示一個類或者一個接口浸须,當 obj 為 Class 的對象惨寿,或者是其直接或間接子類,或者是其接口的實現(xiàn)類删窒,結果result 都返回 true裂垦,否則返回false。注意:編譯器會檢查 obj 是否能轉換成右邊的class類型肌索,如果不能轉換則直接報錯蕉拢,如果不能確定類型,則通過編譯,具體看運行時定晕换。

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

13午乓、什么是隱式轉換,什么是顯式轉換

顯示轉換就是類型強轉闸准,把一個大類型的數(shù)據強制賦值給小類型的數(shù)據益愈;隱式轉換就是大范圍的變量能夠接受小范圍的數(shù)據;隱式轉換和顯式轉換其實就是自動類型轉換和強制類型轉換夷家。

14蒸其、Char類型能不能轉成int類型?能不能轉化成string類型库快,能不能轉成double類型

Char 在 java 中 也 是 比 較 特 殊 的 類 型 摸袁, 它 的 int 值 從 1 開 始 , 一 共 有 2 的 16 次 方 個 數(shù) 據 义屏; Char<int<long<?oat<double但惶;Char類型可以隱式轉成int,double類型,但是不能隱式轉換成string湿蛔;如果char類 型轉成byte膀曾,short類型的時候,需要強轉阳啥。

15添谊、什么是拆裝箱?

裝箱就是自動將基本數(shù)據類型轉換為包裝器類型(int–>Integer)察迟;調用方法:Integer的
valueOf(int) 方法拆箱就是自動將包裝器類型轉換為基本數(shù)據類型(Integer–>int)斩狱。調用方法:Integer的intValue方 法在Java SE5之前,如果要生成一個數(shù)值為10的Integer對象扎瓶,必須這樣進行:
而在從Java SE5開始就提供了自動裝箱的特性所踊,如果要生成一個數(shù)值為10的Integer對象,只需要這樣就可以了:

面試題1: 以下代碼會輸出什么概荷?

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

結果:

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

16秕岛、Java中的包裝類都是那些?

byte:Byte误证,short:Short继薛,int:Integer,long:Long愈捅,?oat:Float遏考,double:Double,char:Character 蓝谨,boolean:Boolean

17灌具、一個java類中包含那些內容青团?

屬性、方法咖楣、內部類督笆、構造方法、代碼塊截歉。

18胖腾、那針對浮點型數(shù)據運算出現(xiàn)的誤差的問題烟零,你怎么解決瘪松?

使用Bigdecimal類進行浮點型數(shù)據的運算

19、面向對象的特征有哪些方面?

抽象:抽象是將一類對象的共同特征總結出來構造類的過程, 包括數(shù)據抽象和行為抽象兩方面锨阿。抽象只關注對象有哪些屬性和行為,并不關注這些行為的細節(jié)是什么宵睦。

繼承:繼承是從已有類得到繼承信息創(chuàng)建新類的過程.提供繼承信息的類被稱為父類(超類、基類) ;得到繼承信息的類被稱為子類(派生類)墅诡。繼承讓變化中的軟件系統(tǒng)有了一定的延續(xù)性 ,同時繼承也是封裝程序中可變因素的重要手段(如果不能理解請閱讀閻宏博士的《Java 與模式》或《設計模式精解》中.關于橋梁模式的部分)壳嚎。

封裝:通常認為封裝是把數(shù)據和操作數(shù)據的方法綁定起來,對數(shù)據的訪問只能通過已定義的接口末早。面向對象的本質就是將現(xiàn)實世界描繪成一系列完全自 治烟馅、封閉的對象。我們在類中編寫的方法就是對實現(xiàn)細節(jié)的一種封裝然磷;我們編寫一個類就是對數(shù)據和數(shù)據操作的封裝郑趁。可以說姿搜,封裝就是隱藏一切可隱藏的東西寡润, 只向外界提供最簡單的編程接口(可以想象普通洗衣機和全自動洗衣機的差別, 明顯全自動洗衣機封裝更好因此操作起來更簡單舅柜;我們現(xiàn)在使用的智能手機也是 封裝得足夠好的梭纹,因為幾個按鍵就搞定了所有的事情)。

多態(tài)性:多態(tài)性是指允許不同的類型的對象對同一消息作出不同的響應致份。簡單的說就是用同樣的對象引用調用同樣的方法但是做了不同的事情变抽。多態(tài)性分為編譯時的多態(tài)性和運行時的多態(tài)性。如果將對象的方法視為對象向外界提供的服務氮块,那么運行時的多態(tài)性可以解釋為:當 A 系統(tǒng)訪問 B 系統(tǒng)提供的服務時瞬沦,B 系統(tǒng)有多種提供服務的方式,但一切對 A 系統(tǒng)來說都是透明的(就像電動剃須刀是 A 系統(tǒng)雇锡,它的供電系統(tǒng)是 B 系統(tǒng)逛钻,B 系統(tǒng)可以使用電池供電或者用交流電, 甚至還有可能是太陽能锰提,A 系統(tǒng)只會通過 B 類對象調用供電的方法曙痘,但并不知道供電系統(tǒng)的底層實現(xiàn)是什么芳悲,究竟通過何種方式獲得了動力)。方法重載(overload)實現(xiàn)的是編譯時的多態(tài)性(也稱為前綁定)边坤,而方法重寫(override) 實現(xiàn)的是運行時的多態(tài)性(也稱為后綁定)名扛。運行時的多態(tài)是面向對象最精髓的東西,要實現(xiàn)多態(tài)需要做兩件事:

1). 方法重寫(子類繼承父類并重寫父類中已有的或抽象的方法)茧痒;

2). 對象造型(用父類型引用引用子類型對象肮韧,這樣同樣的引用調用同樣的方法就會根據子類對象的不同而表現(xiàn)出不同的行為)。

20旺订、訪問修飾符 public,private,protected,以及不寫(默認) 時的區(qū)別弄企?

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

類的成員不寫訪問修飾時默認為 default。默認對于同一個包中的其他類相當于公 開(public)区拳,對于不是同一個包中的其他類相當于私有(private)拘领。受保護 (protected)對子類相當于公開,對不是同一包中的沒有父子關系的類相當于私 有樱调。Java 中约素,外部類的修飾符只能是 public 或默認,類的成員(包括內部類)的 修飾符可以是以上四種笆凌。

21圣猎、String 是最基本的數(shù)據類型嗎?

不是乞而。Java 中的基本數(shù)據類型只有 8 個:byte送悔、short、int晦闰、long放祟、?oat、double呻右、 char跪妥、boolean;除了基本類型(primitive type)声滥, 剩下的都是引用類型(reference type)眉撵,Java 5 以后引入的枚舉類型也算是一種比較特殊的引用類型。

22落塑、?oat f=3.4;是否正確纽疟?

答:不正確。3.4 是雙精度數(shù)憾赁,將雙精度型(double)賦值給浮點型(?oat)屬于 下轉型(down-casting污朽,也稱為窄化)會造成精度損失, 因此需要強制類型轉換 ?oat f =(?oat)3.4; 或者寫成 ?oat f =3.4F;龙考。

23蟆肆、short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1; 有錯嗎矾睦?

對于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 類型,因此 s1+1 運算結果也是 int 型炎功,需要強制轉換類型才能賦值給 short 型枚冗。而 short s1 = 1; s1 += 1;可以正確 編譯,因為 s1+= 1;相當于 s1 = (short)(s1 + 1);其中有隱含的強制類型轉換蛇损。

24赁温、重載和重寫的區(qū)別

重寫(Override)從字面上看,重寫就是 重新寫一遍的意思淤齐。其實就是在子類中把父類本身有的方法重新寫一遍股囊。子類繼承了父類原有的方法,但有時子類并不想原封不動的繼承父類中的某個方法床玻,所以在方法名毁涉,參數(shù)列表沉帮,返回類型(除過子類中方法的返回值是父類中方法返回值的子類時)都相同的情況下, 對方法體進行修改或重寫,這就是重寫剪验。但要注意子類函數(shù)的訪問修飾權限不能少于父類的招拙。

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

原因: 在某個范圍內的整型數(shù)值的個數(shù)是有限的,而浮點數(shù)卻不是喇勋。重寫 總結:1.發(fā)生在父類與子類之間2.方法名缨该,參數(shù)列表,返回類型(除過子類中方法的返回類型是父類中返回類型的子類)必須相同3.訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(public>protected>default>private)4.重寫方法一定不能拋出新的檢查異炒ū常或者比被重寫方法申明更加寬泛的檢查型異常

重載(Overload)在一個類中贰拿,同名的方法如果有不同的參數(shù)列表(參數(shù)類型不同、參數(shù)個數(shù)不同甚至是參數(shù)順序不同) 則視為重載熄云。同時膨更,重載對返回類型沒有要求,可以相同也可以不同缴允,但不能通過返回類型是否相同來判斷重載荚守。

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

重載總結:

1.重載Overload是一個類中多態(tài)性的一種表現(xiàn)

2.重載要求同名方法的參數(shù)列表不同(參數(shù)類型,參數(shù)個數(shù)甚至是參數(shù)順序)

3.重載的時候练般,返回值類型可以相同也可以不相同矗漾。無法以返回型別作為重載函數(shù)的區(qū)分標準

25、equals與==的區(qū)別==:

== 比較的是變量(棧)內存中存放的對象的(堆)內存地址薄料,用來判斷兩個對象的地址是否相同敞贡,即是否是指相同一個對象。比較的是真正意義上的指針操作摄职。

1誊役、比較的是操作符兩端的操作數(shù)是否是同一個對象虑稼。

2、兩邊的操作數(shù)必須是同一類型的(可以是父子類之間)才能編譯通過势木。

3蛛倦、比較的是地址,如果是具體的阿拉伯數(shù)字的比較啦桌,值相等則為true溯壶,如:int a=10 與 long b=10L 與 double c=10.0都是相同的(為true),因為他們都指向地址為10的堆甫男。

equals:equals用來比較的是兩個對象的內容是否相等且改,由于所有的類都是繼承自java.lang.Object類的,所以適用于所有對象板驳,如果沒有對該方法進行覆蓋的話又跛,調用的仍然是Object類中的方法,而Object中的equals方法返回的卻是==的判斷若治。

總結:所有比較是否相等時慨蓝,都是用equals 并且在對常量相比較時,把常量寫在前面端幼,因為使用object的equals object可能為null 則空指針在阿里的代碼規(guī)范中只使用equals 礼烈,阿里插件默認會識別,并可以快速修改婆跑,推薦安裝阿里插件來排查老代碼使用“==”此熬,替換成equals

26、++i與i++的區(qū)別i++:

先賦值滑进,后計算++i:先計算犀忱,后賦值

27、程序的結構有那些扶关?

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

28阴汇、數(shù)組實例化有幾種方式?

靜態(tài)實例化:創(chuàng)建數(shù)組的時候已經指定數(shù)組中的元素,

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

動態(tài)實例化:實例化數(shù)組的時候驮审,只指定了數(shù)組程度鲫寄,數(shù)組中所有元素都是數(shù)組類型的默認值

29、Java中各種數(shù)據默認值

Byte,short,int,long默認值都是0 Boolean默認值是falseChar類型的默認值是’’Float與double類型的默認是0.0對象類型的默認值是null

30疯淫、Java常用包有那些地来?

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

31、Object類常用方法有那些熙掺?

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

32未斑、java中有沒有指針?

有指針币绩,但是隱藏了蜡秽,開發(fā)人員無法直接操作指針府阀,由jvm來操作指針

33、java中是值傳遞引用傳遞芽突?

理論上說试浙,java都是引用傳遞,對于基本數(shù)據類型寞蚌,傳遞是值的副本田巴,而不是值本身。對于對象類型挟秤,傳遞是對象的引用壹哺,當在一個方法操作操作參數(shù)的時候,其實操作的是引用所指向的對象艘刚。

34管宵、實例化數(shù)組后,能不能改變數(shù)組長度呢攀甚?

不能箩朴,數(shù)組一旦實例化,它的長度就是固定的

35云稚、假設數(shù)組內有5個元素隧饼,如果對數(shù)組進行反序沈堡,該如何做静陈?

創(chuàng)建一個新數(shù)組,從后到前循環(huán)遍歷每個元素诞丽,將取出的元素依次順序放入新數(shù)組中

36鲸拥、形參與實參區(qū)別

實參(argument):全稱為"實際參數(shù)"是在調用時傳遞給函數(shù)的參數(shù). 實參可以是常量、變量僧免、表達式刑赶、函數(shù)等, 無論實參是何種類型的量懂衩,在進行函數(shù)調用時撞叨,它們都必須具有確定的值, 以便把這些值傳送給形參浊洞。 因此應預先用賦值牵敷,輸入等辦法使實參獲得確定值。

形參(parameter):全稱為"形式參數(shù)" 由于它不是實際存在變量法希,所以又稱虛擬變量枷餐。是在定義函數(shù)名和函數(shù)體的時候使用的參數(shù),目的是用來接收調用該函數(shù)時傳入的參數(shù).在調用函數(shù)時,實參將賦值給形參苫亦。因而毛肋,必須注意實參的個數(shù)怨咪,類型應與形參一一對應,并且實參必須要有確定的值润匙。

形參出現(xiàn)在函數(shù)定義中诗眨,在整個函數(shù)體內都可以使用, 離開該函數(shù)則不能使用孕讳。實參出現(xiàn)在主調函數(shù)中辽话,進入被調函數(shù)后,實參變量也不能使用卫病。形參和實參的功能是作數(shù)據傳送油啤。發(fā)生函數(shù)調用時, 主調函數(shù)把實參的值傳送給被調函數(shù)的形參從而實現(xiàn)主調函數(shù)向被調函數(shù)的數(shù)據傳送蟀苛。

1.形參變量只有在被調用時才分配內存單元益咬,在調用結束時, 即可釋放所分配的內存單元帜平。因此幽告,形參只有在函數(shù)內部有效。 函數(shù)調用結束返回主調函數(shù)后則不能再使用該形參變量裆甩。

2.實參可以是常量冗锁、變量、表達式嗤栓、函數(shù)等冻河, 無論實參是何種類型的量,在進行函數(shù)調用時茉帅,它們都必須具有確定的值叨叙, 以便把這些值傳送給形參。 因此應預先用賦值堪澎,輸入等辦法使實參獲得確定值擂错。

3.實參和形參在數(shù)量上,類型上樱蛤,順序上應嚴格一致钮呀, 否則會發(fā)生“類型不匹配”的錯誤。

4.函數(shù)調用中發(fā)生的數(shù)據傳送是單向的昨凡。 即只能把實參的值傳送給形參爽醋,而不能把形參的值反向地傳送給實參。 因此在函數(shù)調用過程中土匀, 形參的值發(fā)生改變子房,而實參中的值不會變化。

5.當形參和實參不是指針類型時,在該函數(shù)運行時证杭,形參和實參是不同的變量田度,他們在內存中位于不同的位置,形參將實參的內容復制一份解愤,在該函數(shù)運行結束的時候形參被釋放镇饺,而實參內容不會改變。

而如果函數(shù)的參數(shù)是指針類型變量,在調用該函數(shù)的過程中送讲,傳給函數(shù)的是實參的地址奸笤,在函數(shù)體內部使用的也是實參的地址,即使用的就 是實參本身哼鬓。所以在函數(shù)體內部可以改變實參的值监右。

37、構造方法能不能顯式調用异希?

不能健盒,構造方法當成普通方法調用,只有在創(chuàng)建對象的時候它才會被系統(tǒng)調用

38称簿、什么是方法重載扣癣?

方法的重載就是在同一個類中允許同時存在一個以上的同名方法,只要它們的參數(shù)個數(shù)或者類型不同即可憨降。在這種情況下父虑,該方法就叫被重載了,這個過程稱為方法的重載(override)

39授药、構造方法能不能重寫士嚎?能不能重載?

可以重載烁焙,但不能重寫航邢。

40、內部類與靜態(tài)內部類的區(qū)別骄蝇?

靜態(tài)內部類相對與外部類是獨立存在的,在靜態(tài)內部類中無法直接訪問外部類中變量操骡、方法九火。如果要訪問的話,必須要new一個外部類的對象册招,使用new出來的對象來訪問岔激。但是可以直接訪問靜態(tài)的變量、調用靜態(tài)的方法是掰;普通內部類作為外部類一個成員而存在虑鼎,在普通內部類中可以直接訪問外部類屬性,調用外部類的方法。如果外部類要訪問內部類的屬性或者調用內部類的方法炫彩,必須要創(chuàng)建一個內部類的對象匾七,使用該對象訪問屬性或者調用方法。如果其他的類要訪問普通內部類的屬性或者調用普通內部類的方法江兢,必須要在外部類中創(chuàng)建一個普通內部類的對象作為一個屬性昨忆,外同類可以通過該屬性調用普通內部類的方法或者訪問普通內部類的屬性如果其他的類要訪問靜態(tài)內部類的屬性或者調用靜態(tài)內部類的方法,直接創(chuàng)建一個靜態(tài)內部類對象即可杉允。

41邑贴、Static關鍵字有什么作用?

Static可以修飾內部類叔磷、方法拢驾、變量、代碼塊Static修飾的類是靜態(tài)內部類Static修飾的方法是靜態(tài)方法改基,表示該方法屬于當前類的独旷,而不屬于某個對象的,靜態(tài)方法也不能被重寫寥裂,可以直接使用類名來調用嵌洼。在static方法中不能使用this或者super關鍵字。Static修飾變量是靜態(tài)變量或者叫類變量封恰,靜態(tài)變量被所有實例所共享麻养,不會依賴于對象。靜態(tài)變量在內存中只有一份拷貝诺舔,在JVM加載類的時候鳖昌,只為靜態(tài)分配一次內存。Static修飾的代碼塊叫靜態(tài)代碼塊低飒,通常用來做程序優(yōu)化的许昨。靜態(tài)代碼塊中的代碼在整個類加載的時候只會執(zhí)行一次。靜態(tài)代碼塊可以有多個褥赊,如果有多個糕档,按照先后順序依次執(zhí)行。

42拌喉、final在java中的作用速那,有哪些用法?

final也是很多面試喜歡問的地方,但我覺得這個問題很無聊,通常能回答下以下5點就不錯了:

1. 被fifinal修飾的類不可以被繼承

2. 被fifinal修飾的方法不可以被重寫

3. 被fifinal修飾的變量不可以被改變.如果修飾引用,那么表示引用不可變,引用指向的內容可變.

4. 被fifinal修飾的方法,JVM會嘗試將其內聯(lián),以提高運行效率

5. 被fifinal修飾的常量,在編譯階段會存入常量池中.除此之外,編譯器對fifinal域要遵守的兩個重排序規(guī)則更好:在構造函數(shù)內對一個fifinal域的寫入,與隨后把這個被構造對象的引用賦值給一個引用變量,這兩個操作之間不能重排序初次讀一個包含fifinal域的對象的引用,與隨后初次讀這個fifinal域,這兩個操作之間不能重排序

43、StringString StringBuffffer 和 StringBuilder 的區(qū)別是什么尿背?

String是只讀字符串端仰,它并不是基本數(shù)據類型,而是一個對象田藐。從底層源碼來看是一個fifinal類型的字符數(shù)組荔烧,所引用的字符串不能被改變吱七,一經定義,無法再增刪改鹤竭。每次對String的操作都會生成新的String對象

Java高頻OOP(面向對象編程)面試50題(含答案)(一)

每次+操作 : 隱式在堆上new了一個跟原字符串相同的StringBuilder對象踊餐,再調用append方法 拼接+后面的字符。StringBuffer與StringBuilder都繼承了AbstractStringBulder類诺擅,而AbtractStringBuilder又實現(xiàn)了CharSequence接口市袖,兩個類都是用來進行字符串操作的。在做字符串拼接修改刪除替換時烁涌,效率比string更高苍碟。StringBuffer是線程安全的,Stringbuilder是非線程安全的撮执。所以Stringbuilder比stringbuffer效率更高微峰,StringBuffer的方法大多都加了synchronized關鍵字

44、String str=”aaa”,與String str=new String(“aaa”)一樣嗎抒钱?

一共有兩個引用蜓肆,三個對象。因為”aa”與”bb”都是常量谋币,常量的值不能改變仗扬,當執(zhí)行字符串拼接時候,會創(chuàng)建一個新的常量是” aabbb”,有將其存到常量池中蕾额。

45早芭、講下java中的math類有那些常用方法?

Pow():冪運算Sqrt():平方根Round():四舍五入Abs():求絕對值Random():生成一個0-1的隨機數(shù)诅蝶,包括0不包括1

46退个、String類的常用方法有那些?

charAt:返回指定索引處的字符indexOf():返回指定字符的索引replace():字符串替換trim():去除字符串兩端空白split():分割字符串调炬,返回一個分割后的字符串數(shù)組getBytes():返回字符串的byte類型數(shù)組length():返回字符串長度toLowerCase():將字符串轉成小寫字母toUpperCase():將字符串轉成大寫字符substring():截取字符串format():格式化字符串equals():字符串比較

47语盈、Java中的繼承是單繼承還是多繼承

Java中既有單繼承,又有多繼承缰泡。對于java類來說只能有一個父類刀荒,對于接口來說可以同時繼承多個接口

48、Super與this表示什么匀谣?

Super表示當前類的父類對象This表示當前類的對象

49照棋、普通類與抽象類有什么區(qū)別?

普通類不能包含抽象方法武翎,抽象類可以包含抽象方法抽象類不能直接實例化,普通類可以直接實例化

50溶锭、什么是接口宝恶?為什么需要接口?

接口就是某個事物對外提供的一些功能的聲明,是一種特殊的java類垫毙,接口彌補了java單繼承的缺點

Java高頻OOP(面向對象編程)面試50題(含答案)(一)
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末霹疫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子综芥,更是在濱河造成了極大的恐慌丽蝎,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膀藐,死亡現(xiàn)場離奇詭異屠阻,居然都是意外死亡,警方通過查閱死者的電腦和手機额各,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門国觉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人虾啦,你說我怎么就攤上這事麻诀。” “怎么了傲醉?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵蝇闭,是天一觀的道長。 經常有香客問我硬毕,道長呻引,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任昭殉,我火速辦了婚禮苞七,結果婚禮上,老公的妹妹穿的比我還像新娘挪丢。我一直安慰自己蹂风,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布乾蓬。 她就那樣靜靜地躺著惠啄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪任内。 梳的紋絲不亂的頭發(fā)上撵渡,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音死嗦,去河邊找鬼趋距。 笑死,一個胖子當著我的面吹牛越除,可吹牛的內容都是我干的节腐。 我是一名探鬼主播外盯,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼翼雀!你這毒婦竟也來了饱苟?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤狼渊,失蹤者是張志新(化名)和其女友劉穎箱熬,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狈邑,經...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡城须,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了官地。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酿傍。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖驱入,靈堂內的尸體忽然破棺而出赤炒,到底是詐尸還是另有隱情,我是刑警寧澤亏较,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布莺褒,位于F島的核電站,受9級特大地震影響雪情,放射性物質發(fā)生泄漏遵岩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一巡通、第九天 我趴在偏房一處隱蔽的房頂上張望尘执。 院中可真熱鬧,春花似錦宴凉、人聲如沸誊锭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丧靡。三九已至,卻和暖如春籽暇,著一層夾襖步出監(jiān)牢的瞬間温治,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工戒悠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留熬荆,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓绸狐,卻偏偏與公主長得像惶看,于是被迫代替她去往敵國和親捏顺。 傳聞我的和親對象是個殘疾皇子六孵,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354