1、面向?qū)ο蟮奶卣饔心男┓矫?/strong>
1. 抽象 :抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面, 以便更充分地注意與當(dāng)前目標(biāo) 4. 有關(guān)的方面。抽象并不打算了解全部問(wèn)題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過(guò)程抽象, . 二是數(shù)據(jù)抽象。
11. 繼承 :繼承是一種聯(lián)結(jié)類(lèi)的層次模型,并且允許和鼓勵(lì)類(lèi)的重用, 它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類(lèi)可以從現(xiàn)有的類(lèi)中派生, 這個(gè)過(guò)程稱為類(lèi)繼承。新類(lèi)繼承了原始類(lèi)的特性, 新類(lèi)稱為原始類(lèi)的派生類(lèi)(子類(lèi)),而原始類(lèi)稱為新類(lèi)的基類(lèi)(父類(lèi))。派生類(lèi)可以從它的基類(lèi)那里繼承方法和實(shí)例變量, 并且類(lèi)可以修改或增加新的方法使之更適合特殊的需要。
18. 封裝 :封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái), 對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過(guò)一個(gè)受保護(hù)的接口訪問(wèn)其他對(duì)象。
22. 多態(tài)性 :多態(tài)性是指允許不同類(lèi)的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì), 很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題。
2 、 String 是最基本的數(shù)據(jù)類(lèi)型嗎 ?
基本數(shù)據(jù)類(lèi)型包括 byte 、 int 、 char 、 long 、 float 、 double 、 boolean 和 short 。
java.lang.String 類(lèi)是 final 類(lèi)型的,因此不可以繼承這個(gè)類(lèi)、不能修改這個(gè)類(lèi)。為了提高效率節(jié)省空間,我們應(yīng)該用 StringBuffer類(lèi)
3 、 int 和 Integer 有什么區(qū)別
Java 提供兩種不同的類(lèi)型:引用類(lèi)型和原始類(lèi)型(或內(nèi)置類(lèi)型)。 Int 是 java 的原始數(shù)據(jù)類(lèi)型, Integer 是 java 為 int 提供的封裝類(lèi)。 Java 為每個(gè)原始類(lèi)型提供了封裝類(lèi)。
原始類(lèi)型封裝類(lèi) booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble
引用類(lèi)型和原始類(lèi)型的行為完全不同,并且它們具有不同的語(yǔ)義。引用類(lèi)型和原始類(lèi)型具有不同的特征和用法,它們包括:大小和速度問(wèn)題,這種類(lèi)型以哪種類(lèi)型的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類(lèi)型和原始類(lèi)型用作某個(gè)類(lèi)的實(shí)例數(shù)據(jù)時(shí)所指定的缺省值。對(duì)象引用實(shí)例變量的缺省值為 null ,而原始類(lèi)型實(shí)例變量的缺省值與它們的類(lèi)型有關(guān)。
4 、 String 和 StringBuffer 的區(qū)別
JAVA 平臺(tái)提供了兩個(gè)類(lèi): String 和 StringBuffer ,它們可以儲(chǔ)存和操作字符串,即包含多個(gè)字符的字符數(shù)據(jù)。這個(gè) String 類(lèi)提供了數(shù)值不可改變的字符串。而這個(gè) StringBuffer 類(lèi)提供的字符串進(jìn)行修改。當(dāng)你知道字符數(shù)據(jù)要改變的時(shí)候你就可以使用StringBuffer 。典型地,你可以使用 StringBuffers 來(lái)動(dòng)態(tài)構(gòu)造字符數(shù)據(jù)。
5 、運(yùn)行時(shí)異常與一般異常有何異同?
異常表示程序運(yùn)行過(guò)程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異常表示虛擬機(jī)的通常操作中可能遇到的異常,是一種常見(jiàn)運(yùn)行錯(cuò)誤。java 編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出未被捕獲的運(yùn)行時(shí)異常。
6 、說(shuō)出 Servlet 的生命周期,并說(shuō)出 Servlet 和 CGI 的區(qū)別 。
Servlet 被服務(wù)器實(shí)例化后,容器運(yùn)行其 init 方法,請(qǐng)求到達(dá)時(shí)運(yùn)行其 service 方法, service 方法自動(dòng)派遣運(yùn)行與請(qǐng)求對(duì)應(yīng)的doXXX 方法( doGet , doPost )等,當(dāng)服務(wù)器決定將實(shí)例銷(xiāo)毀的時(shí)候調(diào)用其 destroy 方法。
與 cgi 的區(qū)別在于 servlet 處于服務(wù)器進(jìn)程中,它通過(guò)多線程方式運(yùn)行其 service 方法,一個(gè)實(shí)例可以服務(wù)于多個(gè)請(qǐng)求,并且其實(shí)例一般不會(huì)銷(xiāo)毀,而 CGI 對(duì)每個(gè)請(qǐng)求都產(chǎn)生新的進(jìn)程,服務(wù)完成后就銷(xiāo)毀,所以效率上低于 servlet 。