久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

《JAVA基礎(chǔ)》基本概念總結(jié)

時(shí)間:2019-05-13 11:07:12下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《《JAVA基礎(chǔ)》基本概念總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《《JAVA基礎(chǔ)》基本概念總結(jié)》。

第一篇:《JAVA基礎(chǔ)》基本概念總結(jié)

《JAVA基礎(chǔ)》基本概念總結(jié)

1、在JAVA中所有萬(wàn)物皆對(duì)象,所有的代碼都要寫(xiě)在一個(gè)類中,在類中只能包含屬性(變量)和方法(函數(shù)),其它代碼必須寫(xiě)在某一個(gè)方法中,方法與方法之間是平行的,不能在方法中定義方法。

2、如果一個(gè)類名使用了public修飾符,則包含該類的JAVA文件名必須該類名一樣,一個(gè)JAVA文件中只能有一個(gè)類前面可以用public修飾符。

3、類是客觀實(shí)體的抽象,包含屬性(該類的數(shù)據(jù)),和對(duì)屬性進(jìn)行操作的方法,為了避免用戶對(duì)類的屬性進(jìn)行誤操作,我們一般把類的屬性定義為私有的,并提供相應(yīng)的get與 set方法去引用和修改這些屬性。

4、類的屬性與方法可以使用static修飾符,用static修飾的屬性與方法是該類的所有對(duì)象所共享的,它們可以直接通過(guò)類名去引用,在靜態(tài)方法中只能引用該類的靜態(tài)變量與靜態(tài)方法,因?yàn)榉庆o態(tài)的屬性與方法在該類沒(méi)有被實(shí)例化之前是不存在的,即沒(méi)有相應(yīng)的執(zhí)行空間,為了使用的方便,我們可以把不依賴于類的屬性(即在方法中不對(duì)類的屬性進(jìn)行操作)的方法定義為靜態(tài)的。

5、構(gòu)造函數(shù)是當(dāng)一個(gè)類被實(shí)例化時(shí)執(zhí)行的一段代碼,它決定了該類被實(shí)例化后的狀態(tài),其名稱與相應(yīng)的類名一樣,并且不寫(xiě)返回值的類型,我們一般在構(gòu)造函數(shù)中對(duì)類的屬性進(jìn)行初始化。當(dāng)不寫(xiě)構(gòu)造函數(shù)時(shí),系統(tǒng)會(huì)給我們提供一個(gè)不帶參數(shù)的空構(gòu)造函數(shù),如果我們寫(xiě)了一個(gè)帶參的構(gòu)造函數(shù),系統(tǒng)就不再提供不帶參的構(gòu)造構(gòu)數(shù)了。

6、為了引用一個(gè)類中定義的非靜態(tài)屬性與方法,我們需要實(shí)例化一個(gè)該類的對(duì)象,通過(guò)該對(duì)象去引用相應(yīng)的方法。(這是我們實(shí)例化一個(gè)類的最直接的原因)

7、繼承可以實(shí)現(xiàn)代碼的復(fù)用,當(dāng)子類繼承了父類之后,子類就擁有了父類中定義的非私有屬性與方法。

8、子類對(duì)象可以直接賦值給父類變量,但賦值后就不能通過(guò)父類對(duì)象去引用在子類中定義的方法了。如果子類覆蓋了父類中的方法,則當(dāng)子類對(duì)象賦值給父類后,通過(guò)父類去引用該方法時(shí),執(zhí)行的是子類中該方法的代碼。

9、為了強(qiáng)制子類覆蓋父類中的某一方法,可以在父類中將該方法定義為抽象的,如果一個(gè)類中含有抽象方法,則該類必須被定義為抽象的,抽象類不能被實(shí)例化。

10、接口是一種特殊的抽象類,在接口中定義方法全是抽象的,它定義了一種上層規(guī)則或協(xié)議,使實(shí)現(xiàn)該接口的不同類之間可以交互。

11、接口與抽象類可以定義變量,可以作為函數(shù)的參數(shù),但傳遞給它的只能是實(shí)現(xiàn)該抽象類或接口中所有抽象方法的類的對(duì)象。

12、在JAVA中一個(gè)類一次只能繼承一個(gè)類,但可以實(shí)現(xiàn)多個(gè)接口,這是接口存在的一個(gè)非常重要的原因。

13、在程序中,有些代碼是不安全的,即在執(zhí)行的過(guò)程中有可能會(huì)產(chǎn)生錯(cuò)誤,為了處理這些錯(cuò)誤,在JAVA中引入了異常處理機(jī)制,異常的處理分為拋出(throws)和處理(try…catch..),我們一般在寫(xiě)給其它地方用的方法中將有可能產(chǎn)生的異常拋出,而在main方法中,或?qū)嶋H使用時(shí)進(jìn)行處理。

14、異常是一種帶有強(qiáng)制性的業(yè)務(wù)規(guī)則,當(dāng)一個(gè)方法將異常拋出后,我們?cè)谑褂迷摲〞r(shí)就必須處理該異常,使用try…catch…可以將我們處理正常業(yè)務(wù)規(guī)則的代碼與處理錯(cuò)誤(即異常)的代碼分割開(kāi)來(lái),使程序的結(jié)構(gòu)更加清晰。寫(xiě)在try語(yǔ)句中的代碼都是受保護(hù)的。

第二篇:java基本概念總結(jié)

小結(jié)

1、對(duì)象的初始化

(1)非靜態(tài)對(duì)象的初始化

在創(chuàng)建對(duì)象時(shí),對(duì)象所在類的所有數(shù)據(jù)成員會(huì)首先進(jìn)行初始化。

基本類型:int型,初始化為0。

如果為對(duì)象:這些對(duì)象會(huì)按順序初始化。

※在所有類成員初始化完成之后,才調(diào)用本類的構(gòu)造方法創(chuàng)建對(duì)象。

構(gòu)造方法的作用就是初始化。

(2)靜態(tài)對(duì)象的初始化

程序中主類的靜態(tài)變量會(huì)在main方法執(zhí)行前初始化。

不僅第一次創(chuàng)建對(duì)象時(shí),類中的所有靜態(tài)變量都初始化,并且第一次訪問(wèn)某類(注意此時(shí)

未創(chuàng)建此類對(duì)象)的靜態(tài)對(duì)象時(shí),所有的靜態(tài)變量也要按它們?cè)陬愔械捻樞虺跏蓟?/p>

2、繼承時(shí),對(duì)象的初始化過(guò)程

(1)主類的超類由高到低按順序初始化靜態(tài)成員,無(wú)論靜態(tài)成員是否為private。

(2)主類靜態(tài)成員的初始化。

(3)主類的超類由高到低進(jìn)行默認(rèn)構(gòu)造方法的調(diào)用。注意,在調(diào)用每一個(gè)超類的默認(rèn)構(gòu)造

方法前,先進(jìn)行對(duì)此超類進(jìn)行非靜態(tài)對(duì)象的初始化。

(4)主類非靜態(tài)成員的初始化。

(5)調(diào)用主類的構(gòu)造方法。

3、關(guān)于構(gòu)造方法

(1)類可以沒(méi)有構(gòu)造方法,但如果有多個(gè)構(gòu)造方法,就應(yīng)該要有默認(rèn)的構(gòu)造方法,否則在繼承此類時(shí),需要在子類中顯式調(diào)用父類的某一個(gè)非默認(rèn)的構(gòu)造方法了。

(2)在一個(gè)構(gòu)造方法中,只能調(diào)用一次其他的構(gòu)造方法,并且調(diào)用構(gòu)造方法的語(yǔ)句必須是

第一條語(yǔ)句。

4、有關(guān)public、private和protected

(1)無(wú)public修飾的類,可以被其他類訪問(wèn)的條件是:a.兩個(gè)類在同一文件中,b.兩個(gè)類

在同一文件夾中,c.兩個(gè)類在同一軟件包中。

(2)protected:繼承類和同一軟件包的類可訪問(wèn)。

(3)如果構(gòu)造方法為private,那么在其他類中不能創(chuàng)建該類的對(duì)象。

5、抽象類

(1)抽象類不能創(chuàng)建對(duì)象。

(2)如果一個(gè)類中一個(gè)方法為抽象方法,則這個(gè)類必須為abstract抽象類。

(3)繼承抽象類的類在類中必須實(shí)現(xiàn)抽象類中的抽象方法。

(4)抽象類中可以有抽象方法,也可有非抽象方法。抽象方法不能為private。

(5)間接繼承抽象類的類可以不給出抽象方法的定義。

6、final關(guān)鍵字

(1)一個(gè)對(duì)象是常量,不代表不能轉(zhuǎn)變對(duì)象的成員,仍可以其成員進(jìn)行操作。

(2)常量在使用前必須賦值,但除了在聲明的同時(shí)初始化外,就只能在構(gòu)造方法中初始化。

(3)final修飾的方法不能被重置(在子類中不能出現(xiàn)同名方法)。

(4)如果聲明一個(gè)類為final,則所有的方法均為final,無(wú)論其是否被final修飾,但數(shù)據(jù) 成員可為final也可不是。

7、接口interface(用implements來(lái)實(shí)現(xiàn)接口)

(1)接口中的所有數(shù)據(jù)均為 static和final即靜態(tài)常量。盡管可以不用這兩個(gè)關(guān)鍵字修飾,但必須給常量賦初值。

(2)接口中的方法均為public,在實(shí)現(xiàn)接口類中,實(shí)現(xiàn)方法必須可public關(guān)鍵字。

(3)如果使用public來(lái)修飾接口,則接口必須與文件名相同。

8、多重繼承

(1)一個(gè)類繼承了一個(gè)類和接口,那么必須將類寫(xiě)在前面,接口寫(xiě)在后面,接口之間用逗

號(hào)分隔。

(2)接口之間可多重繼承,注意使用關(guān)鍵字extends。

(3)一個(gè)類雖只實(shí)現(xiàn)了一個(gè)接口,但不僅要實(shí)現(xiàn)這個(gè)接口的所有方法,還要實(shí)現(xiàn)這個(gè)接口

繼承的接口的方法,接口中的所有方法均須在類中實(shí)現(xiàn)。

9、接口的嵌入

(1)接口嵌入類中,可以使用private修飾。此時(shí),接口只能在所在的類中實(shí)現(xiàn),其他類不

能訪問(wèn)。

(2)嵌入接口中的接口一定要為public。

10、類的嵌入

(1)類可以嵌入另一個(gè)類中,但不能嵌入接口中。

(2)在靜態(tài)方法或其他方法中,不能直接創(chuàng)建內(nèi)部類對(duì)象,需通過(guò)手

段來(lái)取得。

手段有兩種:

class A {

class B {}

B getB(){

B b = new B();

return b;

}

}

static void m(){

A a = new A();

A.B ab = a.getB();// 或者是 A.B ab = a.new B();

}

(3)一個(gè)類繼承了另一個(gè)類的內(nèi)部類,因?yàn)槌愂莾?nèi)部類,而內(nèi)部類的構(gòu)造方法不能自動(dòng)

被調(diào)用,這樣就需要在子類的構(gòu)造方法中明確的調(diào)用超類的構(gòu)造方法。

接上例:

class C extends A.B { C(){

new A().super();// 這一句就實(shí)現(xiàn)了對(duì)內(nèi)部類構(gòu)造方法的調(diào)用。

}

}

構(gòu)造方法也可這樣寫(xiě):

C(A a){

a.super();

} // 使用這個(gè)構(gòu)造方法創(chuàng)建對(duì)象,要寫(xiě)成C c = new C(a);a是A的對(duì)象。

11、異常類

JAVA中除了RunTimeException 類,其他異常均須捕獲或拋出。JAVA一直是很多人喜愛(ài)的一種編程語(yǔ)言,在這里北大青鳥(niǎo)徐東校區(qū)的老師希望各位努力并快樂(lè)的學(xué)習(xí)這門(mén)語(yǔ)言。學(xué)習(xí)JAVA需要多看SUN公司提供我們的資料信息,了解常用類的屬性和方法。我發(fā)現(xiàn)我們有很多同學(xué)在用常用類的時(shí)候,經(jīng)常會(huì)把類里面的方法和自定義的方法搞混。記得有一位老師說(shuō)過(guò)“學(xué)習(xí)要抱有一種鉆研的態(tài)度”。我對(duì)這句話的理解是當(dāng)我們學(xué)習(xí)到一個(gè)新的知識(shí)點(diǎn)的時(shí)候,需要不斷理解和消化。這可能是一個(gè)長(zhǎng)期的過(guò)程,不能抱有一種急于求成的態(tài)度。以下內(nèi)容是北大青鳥(niǎo)老師整理的一些JAVA基礎(chǔ):

一、SDK和JDK的區(qū)別 SDK是軟件開(kāi)發(fā)工具包,JDK是SDK的一種,其實(shí)它是JAVA SDK。JDK在早期的版本中也是叫SDK,在1.2版本以后才叫JDK。

二、J2EE、J2SE、J2ME區(qū)別

J2EE:JAVA2平臺(tái)的企業(yè)版,主要應(yīng)用于WEB和大型企業(yè)的開(kāi)發(fā)。

J2SE:JAVA2平臺(tái)的標(biāo)準(zhǔn)版,學(xué)習(xí)和一般的開(kāi)發(fā)。它包含于J2EE。

J2ME:JAVA2平臺(tái)的微縮版,主要應(yīng)用于電子設(shè)備(手機(jī))方面,它包含有J2SE的核心部分之外,還有一個(gè)專業(yè)的類。

三、JVM的運(yùn)行機(jī)制類加載→類校驗(yàn)→類執(zhí)行

四、JAVA、JAVAC、用法

JAVA:JAVA解釋器用于執(zhí)行JAVA字節(jié)碼。它所執(zhí)行的是一個(gè)類并不是一個(gè)文件,所以后面類的名字區(qū)分大小寫(xiě)。

JAVAC:JAVAC解釋器用于將JAVA源代碼編譯字節(jié)碼。

五、JAVA標(biāo)識(shí)符

1、標(biāo)識(shí)符由數(shù)字、字母下劃線“_”或“$”符號(hào)組成。

2、標(biāo)識(shí)符必須以字母、下劃線“_”或“$”符號(hào)開(kāi)頭。

3、不能使用JAVA關(guān)鍵字。

4、字母區(qū)分大小寫(xiě)

六、數(shù)據(jù)類型原始數(shù)據(jù)類型數(shù)值類型

l BYTE

l 整型:SHORT、INT、INT l 浮點(diǎn):FLOAT、DOUBLE 2 BOOLEAN類型引用數(shù)據(jù)類型數(shù)組類接口

七、變量

變量可分為類變量、局部變量、方法變量。

類變量在定義時(shí)就有默認(rèn)值,數(shù)值類型的默認(rèn)為0,CAHR的默認(rèn)a,BOOLEAN默認(rèn)FALSE。

方法變量中沒(méi)有默認(rèn)值,需要賦值才能使用。

八、類和對(duì)象的區(qū)別

類是對(duì)象的模板,對(duì)象是類的特例

類是抽象的,客觀上并不存在的對(duì)象是具體的,是客觀存的九、類的構(gòu)造方法

構(gòu)造方法具有和類相同的名字,它是一個(gè)沒(méi)有返回值的方法。有隱式

構(gòu)造方法和自定義構(gòu)造方法兩種。JVM在沒(méi)有自定義造構(gòu)方法時(shí)提供一個(gè)沒(méi)有參數(shù)也沒(méi)有方法主體的默認(rèn)構(gòu)造方法。但是如果有自定義的構(gòu)造方法時(shí),JVM不再提供默認(rèn)的構(gòu)造方法。如果在類的實(shí)例化是需要用默認(rèn)構(gòu)造方法時(shí),必須顯示的定義。

十、方法的重載

可以對(duì)構(gòu)造方法或者自定義的方法進(jìn)行重載,對(duì)方法的重載必須滿足以下三個(gè)條件:

1、參數(shù)個(gè)數(shù)不同

2、參數(shù)類型不同

3、參數(shù)順序不同

十一、面向?qū)ο蟮奶匦?/p>

1、封裝

2、繼承

3、多態(tài)

十二、繼承的特性

繼承允許重用現(xiàn)有的類來(lái)構(gòu)造新類的機(jī)制。在繼承中具有如下特性:

1、默認(rèn)繼承Object

2、單繼承,只能有一個(gè)父類

3、子類繼承父類除private以外的全部成員和方法。

十三、方法的重寫(xiě)

構(gòu)成方法重寫(xiě)的條件:

1、兩個(gè)繼承關(guān)系的類里

2、方法名、返回值、參數(shù)必須一致。

十四、靜態(tài)(變量、方法、塊)

靜態(tài)類型的變量或方法都是屬于類的,并不是屬某個(gè)具體對(duì)象的。所以也稱類變量和類方法,所有對(duì)象共享一份類變量。定義類變量或類方法的關(guān)鍵字是static。靜態(tài)塊是在類第一次 加載時(shí)執(zhí)行。它的作用是初始化類變量成員。

十五、抽象類

抽象類是具體抽象方法的、不可以實(shí)例化對(duì)象的類。構(gòu)成抽象類的條件:

a)具有一個(gè)以上的抽象方法。

b)繼承一個(gè)抽象類,但沒(méi)有實(shí)現(xiàn)全部的抽象方法。

c)繼承一個(gè)接口,沒(méi)有實(shí)現(xiàn)全部的抽象方法。

十六、異常

Error:內(nèi)部錯(cuò)誤,不期望用戶捕獲的一種錯(cuò)誤。

try語(yǔ)句:try句子里面主要是放置要監(jiān)控的程序句子

catch:以合理的方式捕獲和處理異常,主有try語(yǔ)句出錯(cuò)才會(huì)執(zhí)行。

finally:釋放資源,不管try里面的語(yǔ)句是否出錯(cuò)都要執(zhí)行。

throw:手動(dòng)引發(fā)異常

throws:由方法引發(fā)的異常

多層捕獲:異常子類一定要位于異常父類之前。最后一個(gè)catch塊要用Exception捕獲,以便捕獲到所有異常。執(zhí)行其中一條catch語(yǔ)句之后,其它的catch將被忽略。

《JAVA基礎(chǔ)》基本概念總結(jié)

1、在JAVA中所有萬(wàn)物皆對(duì)象,所有的代碼都要寫(xiě)在一個(gè)類中,在類中主要包含屬性(變量)和方法(函數(shù)),其它代碼必須寫(xiě)在某一個(gè)方法中,方法與方法之間是平行的,不能在方法中定義方法。

2、如果一個(gè)類名使用了public修飾符,則包含該類的JAVA文件名必須該類名一樣,一個(gè)JAVA文件中只能有一個(gè)類前面可以用public修飾符。

3、類是客觀實(shí)體的抽象,包含屬性(該類的數(shù)據(jù)),和對(duì)屬性進(jìn)行操作的方法,為了避免用戶對(duì)類的屬性進(jìn)行誤操作,我們一般把類的屬性定義為私有的,并提供相應(yīng)的get與 set方法去引用和修改這些屬性。

4、類的屬性與方法可以使用static修飾符,用static修飾的屬性與方法是該類的所有對(duì)象所共享的,它們可以直接通過(guò)類名去引用,在靜態(tài)方法中只能引用該類的靜態(tài)變量與靜態(tài)方法,因?yàn)榉庆o態(tài)的屬性與方法在該類沒(méi)有被實(shí)例化之前是不存在的,即沒(méi)有相應(yīng)的執(zhí)行空間,為了使用的方便,我們可以把不依賴于類的屬性(即在方法中不對(duì)類的屬性進(jìn)行操作)的方法定義為靜態(tài)的。

5、構(gòu)造函數(shù)是當(dāng)一個(gè)類被實(shí)例化時(shí)執(zhí)行的一段代碼,它決定了該類被實(shí)例化后的狀態(tài),其名稱與相應(yīng)的類名一樣,并且不寫(xiě)返回值的類型,我們一般在構(gòu)造函數(shù)中對(duì)類的屬性進(jìn)行初始化。當(dāng)不寫(xiě)構(gòu)造函數(shù)時(shí),系統(tǒng)會(huì)給我們提供一個(gè)不帶參數(shù)的空構(gòu)造函數(shù),如果我們寫(xiě)了一個(gè)帶參的構(gòu)造函數(shù),系統(tǒng)就不再提供不帶參的構(gòu)造構(gòu)數(shù)了。

6、為了引用一個(gè)類中定義的非靜態(tài)屬性與方法,我們需要實(shí)例化一個(gè)該類的對(duì)象,通過(guò)該對(duì)象去引用相應(yīng)的方法。(這是我們實(shí)例化一個(gè)類的最直接的原因)

7、繼承可以實(shí)現(xiàn)代碼的復(fù)用,當(dāng)子類繼承了父類之后,子類就擁有了父類中定義的非私有屬性與方法。

8、子類對(duì)象可以直接賦值給父類變量,但賦值后就不能通過(guò)父類對(duì)象去引用在子類中定義的方法了。如果子類覆蓋了父類中的方法,則

當(dāng)子類對(duì)象賦值給父類后,通過(guò)父類去引用該方法時(shí),執(zhí)行的是子類中該方法的代碼。

9、為了強(qiáng)制子類覆蓋父類中的某一方法,可以在父類中將該方法定義為抽象的,如果一個(gè)類中含有抽象方法,則該類必須被定義為抽象的,抽象類不能被實(shí)例化。

10、接口是一種特殊的抽象類,在接口中定義方法全是抽象的,它定義了一種上層規(guī)則或協(xié)議,使實(shí)現(xiàn)該接口的不同類之間可以交互。

11、接口與抽象類可以定義變量,可以作為函數(shù)的參數(shù),但傳遞給它的只能是實(shí)現(xiàn)該抽象類或接口中所有抽象方法的類的對(duì)象。

12、在JAVA中一個(gè)類一次只能繼承一個(gè)類,但可以實(shí)現(xiàn)多個(gè)接口,這是接口存在的一個(gè)非常重要的原因。

13、在程序中,有些代碼是不安全的,即在執(zhí)行的過(guò)程中有可能會(huì)產(chǎn)生錯(cuò)誤,為了處理這些錯(cuò)誤,在JAVA中引入了異常處理機(jī)制,異常的處理分為拋出(throws)和處理(try…catch..),我們一般在寫(xiě)給其它地方用的方法中將有可能產(chǎn)生的異常拋出,而在main方法中,或?qū)嶋H使用時(shí)進(jìn)行處理。

14、異常是一種帶有強(qiáng)制性的業(yè)務(wù)規(guī)則,當(dāng)一個(gè)方法將異常拋出后,我們?cè)谑褂迷摲〞r(shí)就必須處理該異常,使用try…catch…可以將我們處理正常業(yè)務(wù)規(guī)則的代碼與處理錯(cuò)誤(即異常)的代碼分割開(kāi)來(lái),使程序的結(jié)構(gòu)更加清晰。寫(xiě)在try語(yǔ)句中的代碼都是受保護(hù)的。

第三篇:JAVA基礎(chǔ)總結(jié)

JAVA基礎(chǔ)總結(jié)

轉(zhuǎn)眼間,已經(jīng)來(lái)到這里學(xué)習(xí)半年了,而現(xiàn)在我們對(duì)于JAVA學(xué)習(xí)才算是真正的開(kāi)始。一開(kāi)始接觸的時(shí)候我發(fā)現(xiàn)這個(gè)和C語(yǔ)言的基本語(yǔ)法幾乎一模一樣的,老師說(shuō):JAVA語(yǔ)言本來(lái)就是C++語(yǔ)言發(fā)展過(guò)來(lái)的,而C++是從C語(yǔ)言發(fā)展來(lái)的,C C++ 還有JAVA雖然是不同的三種語(yǔ)言,但是其實(shí)他們的基本語(yǔ)法是一樣的,但是它們卻有巨大的區(qū)別,這個(gè)區(qū)別主要是體現(xiàn)在思想上。

都說(shuō)C語(yǔ)言是面向過(guò)程的語(yǔ)言,C++ C#和JAVA是面向?qū)ο蟮木幊蹋鋵?shí)就是思維方式稍微改了一下子,面向過(guò)程的語(yǔ)言主要是著重于算法,面向?qū)ο笾赜谶壿嫸选?/p>

這個(gè)教我們的老師是張成峰老師,張成峰是個(gè)很負(fù)責(zé)的老師,雖然JAVA基礎(chǔ)其實(shí)和C語(yǔ)言基礎(chǔ)差不多,但是仔細(xì)學(xué)學(xué)還是能找出很多不同的細(xì)節(jié)的,于是大家的問(wèn)題就很多,張老師幾乎就是手把手的教我們,所以整體來(lái)說(shuō)JAVA基礎(chǔ)學(xué)得挺扎實(shí)的。

我在這本書(shū)的學(xué)習(xí)不是挺好,聯(lián)系得少了,所以對(duì)代碼也不是特別熟悉。而且JAVA是一門(mén)重概念的書(shū),對(duì)于我來(lái)說(shuō),概念是我的要害,理論知識(shí)也是我最怕學(xué)習(xí)的,所以學(xué)習(xí)這本書(shū)對(duì)我來(lái)說(shuō)很是艱難,聽(tīng)了很久的課,代碼寫(xiě)得出來(lái),但是理論知識(shí)幾乎一點(diǎn)也不明白,結(jié)果就造成了這次筆試考的不好。

筆試考的不好,機(jī)試也因?yàn)槲业拇中臎](méi)有考好,所以這次的成績(jī)不好。

學(xué)習(xí)JAVA基礎(chǔ)后,還要在學(xué)習(xí)的過(guò)程中對(duì)每個(gè)知識(shí)都要用心和細(xì)心,當(dāng)然最該注重的地方就是應(yīng)該提高我對(duì)理論知識(shí)的學(xué)習(xí),要多看書(shū),也要多敲敲代碼,這些就是提高學(xué)習(xí)知識(shí)全面的方法。

下一本書(shū)學(xué)習(xí)的是JAVAOO算是JAVA的一個(gè)重要的內(nèi)容了,這才會(huì)真正的接觸JAVA的核心課程,在這本書(shū)里我要好好的理解理論知識(shí),仔細(xì)的學(xué)習(xí)每個(gè)知識(shí)。

第四篇:Java基礎(chǔ)總結(jié)

? 基本數(shù)據(jù)類型

? 變量單元直接存放數(shù)據(jù)

? 賦值和傳參的方式:傳值,即傳遞副本

? 比較相等使用關(guān)系運(yùn)算符“==”

? 引用數(shù)據(jù)類型

? 變量單元存放引用即對(duì)象地址,而數(shù)據(jù)(對(duì)象)在另一內(nèi)存區(qū)域存放。

? 賦值和傳參的方式:傳引用(傳遞對(duì)象的地址),即傳遞對(duì)象本身。

? 使用關(guān)系運(yùn)算符“==”比較兩個(gè)引用類型變量,比較的是地址,如果比較結(jié)果為

真,說(shuō)明兩個(gè)變量引用了同一對(duì)象。

? 比較兩個(gè)對(duì)象是否相等應(yīng)使用equals方法

? Java是面向?qū)ο蟮恼Z(yǔ)言,開(kāi)發(fā)Java程序就是開(kāi)發(fā)Java類,Java的變量定義、方法(函

數(shù))和語(yǔ)句都必須在類中書(shū)寫(xiě),“無(wú)類即無(wú)Java”。

? 類的實(shí)例成員

屬性(成員變量):直接定義在類體中的變量(注:在方法或語(yǔ)句塊中定義的變量不是屬性)

方法:直接定義在類體中的方法。

類成員:直接定義在類體中的內(nèi)部類,即類成員。

注:對(duì)象的成員是從屬于對(duì)象的,必須通過(guò)對(duì)象訪問(wèn),在Java中不存在脫離對(duì)象和類而獨(dú)立存在的屬性和方法。

? 類、方法、語(yǔ)句三者的關(guān)系:

類中包含方法,方法中包含語(yǔ)句;方法中不能嵌套方法;語(yǔ)句不能直接寫(xiě)在類體中。

? 變量的作用域

? 局部變量-方法的參數(shù)、方法體中定義的變量、語(yǔ)句塊中定義的變量,僅在所定義的方法體或語(yǔ)句塊中有效。

? 屬性-在整個(gè)類體中有效。

? 公有的屬性-其它類可以本類對(duì)象訪問(wèn)。

? 私有的屬性-僅限本類內(nèi)訪問(wèn)

? 局部變量(無(wú)論基本類型還是引用類型)在棧內(nèi)存中,對(duì)象在堆內(nèi)存中。注:引用類型的局部變量?jī)?nèi)存放是對(duì)象的引用(即地址),而對(duì)象在堆內(nèi)存中。

? 方法的重載-在同一類中多個(gè)方法同名的語(yǔ)法現(xiàn)象,方法重載應(yīng)符合以下條件:

? 方法同名

? 參數(shù)有所不同(即類型、個(gè)數(shù)和順序三者至少有一個(gè)不同)

注:方法是否重載不考慮返回類型等其它方面。

? 包和訪問(wèn)修飾符

? 包-類的目錄結(jié)構(gòu),主要用途是方便類的管理。

? 類的簡(jiǎn)稱:不含包名的類名

? 類的全限定名稱(類的全稱):帶包名的類名。

? 訪問(wèn)修飾符

? private-僅限本類內(nèi)訪問(wèn)

? public-任何類都能夠訪問(wèn)

? 默認(rèn)-限本包的類訪問(wèn)

? protected--限本包的類訪問(wèn)和子類的訪問(wèn)

? 類的成員(屬性、方法和成員內(nèi)部類)可以使用四種訪問(wèn)修飾符,頂級(jí)外部類僅能

使用public和默認(rèn)兩種修飾符。

? 數(shù)組

? 基本類型的數(shù)組的元素放的是數(shù)據(jù)

? 對(duì)象數(shù)據(jù)的元素放的是對(duì)象的引用

? 二維數(shù)組實(shí)際上是一個(gè)維數(shù)組,而其每個(gè)元素又是一個(gè)一維數(shù)組。

? 構(gòu)造方法-與類名同名并且無(wú)返回類型的方法

? 構(gòu)造方法的作用是創(chuàng)建對(duì)象,僅能通過(guò)new關(guān)鍵字調(diào)用。

? 類中未顯式定義構(gòu)造方法時(shí),類中會(huì)有默認(rèn)的構(gòu)造方法(即一個(gè)public、無(wú)參的構(gòu)

造方法);類中一旦定義顯式定義構(gòu)造方法,將不再產(chǎn)生默認(rèn)的構(gòu)造方法。

? 構(gòu)造方法可以重載

? 構(gòu)造方法只能可以使用四個(gè)訪問(wèn)修飾符,不可以使用其它修飾符(如static、final

等)。

? this關(guān)鍵字

? this表示本對(duì)象或?qū)ο笞陨淼囊?/p>

? 通過(guò)this可以調(diào)用本類的成員方法和屬性

? 通過(guò)this可以調(diào)用本類的構(gòu)造方法,this調(diào)用構(gòu)造方法的語(yǔ)句必須寫(xiě)在構(gòu)造方法的第一句。

? 實(shí)例成員和靜態(tài)成員

? 類的成員(屬性、方法和成員類)可劃分為靜態(tài)成員和實(shí)例成員。

? 實(shí)例成員是屬于對(duì)象的,隨著對(duì)象的創(chuàng)建而存在,隨著對(duì)象的銷(xiāo)毀而銷(xiāo)毀。? 靜態(tài)成員是屬于類的,隨著類的加載而存在,隨著類的銷(xiāo)毀而銷(xiāo)毀。

? 使用static修飾的成員是靜態(tài)成員,未使用static修飾的成員是實(shí)例成員。? 靜態(tài)成員內(nèi)不能使用this關(guān)鍵字。

? this表示當(dāng)前對(duì)象的引用。

? 對(duì)象的初始化

? 第一:實(shí)例屬性賦默認(rèn)值

? 第二:實(shí)例屬性賦初值

? 第三:執(zhí)行對(duì)象初始化塊

? 第四:執(zhí)行構(gòu)造方法

? 類的初始化

? 第一:靜態(tài)屬性賦默認(rèn)值

? 第二:靜態(tài)屬性賦初值

? 第三:執(zhí)行靜態(tài)塊

? 繼承的基本概念

? Java僅支持單繼承

?

?

?

?

? ? 如果一個(gè)類沒(méi)有顯式繼承任何類,則隱式繼承java.lang.Object類 ? 子類擁有父類的一切,子類對(duì)象由兩部分構(gòu)成:父類對(duì)象部分和子類個(gè)性化的部分。? 子類并不能訪問(wèn)父類的一切: ? 子類可以訪問(wèn)父類的public成員和protected成員 ? 子類不可以訪問(wèn)父類的private成員 ? 僅當(dāng)子類與父類同在一包時(shí),子類方可以訪問(wèn)父類的默認(rèn)訪問(wèn)控制的成員。繼承與類和對(duì)象的初始化 ? 構(gòu)造子類對(duì)象時(shí),首先構(gòu)造父類對(duì)象,其次構(gòu)造子類個(gè)性化部分,兩者共同構(gòu)成完整的子類對(duì)象,即首先進(jìn)行父類對(duì)象的初始化,在初始化子類對(duì)象(個(gè)性化)部分。? 子類構(gòu)造方法的執(zhí)行首先調(diào)用父類的構(gòu)造方法。? 若在子類構(gòu)造方法中無(wú)顯式調(diào)用父類構(gòu)造方法的語(yǔ)句,則系統(tǒng)默認(rèn)調(diào)用父類中可訪問(wèn)的無(wú)參的構(gòu)造方法,如果這時(shí)候父類中恰好沒(méi)有這樣的構(gòu)造方法,則編譯出錯(cuò)。? 在子類的構(gòu)造方法中可以通過(guò)super關(guān)鍵字調(diào)用父類構(gòu)造方法。這樣的調(diào)用語(yǔ)句只能出現(xiàn)在子類構(gòu)造方法的第一句。? 關(guān)于初始化的順序 ? 初始化父類 ? 初始化子類 ? 初始化父類對(duì)象 ? 初始化子類對(duì)象 繼承與類型轉(zhuǎn)換 ? 子類型對(duì)象可以自動(dòng)轉(zhuǎn)型為父類型 ? 父類型引用某個(gè)子類型對(duì)象時(shí),可以強(qiáng)制轉(zhuǎn)化為這個(gè)具體的子類型 方法重寫(xiě) ? 在繼承的情況下,子類的實(shí)例方法與父類的實(shí)例方法的方法名稱、參數(shù)、返回類型、throws聲明完全一致,并且該子類方法的訪問(wèn)權(quán)限不低于父類方法的訪問(wèn)權(quán)限,即方法重寫(xiě)(子類方法重寫(xiě)了父類方法),也稱方法覆蓋。? 方法重寫(xiě)僅存在于父子類中的實(shí)例方法,靜態(tài)方法沒(méi)有重寫(xiě)的概念。? 當(dāng)通過(guò)子類型對(duì)象執(zhí)行重寫(xiě)方法時(shí),將始終表現(xiàn)為子類的行為,而且無(wú)論引用對(duì)象的變量是父類型還是子類型,也無(wú)論是直接調(diào)用還是通過(guò)父類型其它方法間接調(diào)用,都將如此。? final修飾的方法不可以被重寫(xiě) ? final修飾的類不可以被繼承 隱藏成員變量 ? 如果子類和父類中定義了同名稱的成員變量,則稱子類隱藏了父類的成員變量 ? 通過(guò)父類方法訪問(wèn)隱藏的成員變量時(shí),將獲得父類成員變量 ? 通過(guò)子類方法訪問(wèn)隱藏的成員變量時(shí),將獲得子類成員變量 ? 通過(guò)父類型的引用直接訪問(wèn)隱藏的成員變量時(shí),將獲得父類成員變量 ? 通過(guò)子類型的引用直接訪問(wèn)隱藏的成員變量時(shí),將獲得子類成員變量 super關(guān)鍵字

? super僅能用于子類中表示本對(duì)象的父對(duì)象部分

? super可以調(diào)用父類型的構(gòu)造方法

? Super可以調(diào)用父類的成員

? Super不可以使用在靜態(tài)上下文中

? Super不可以做為參數(shù)傳遞,不可以做為返回值返回。

? 當(dāng)方法重寫(xiě)時(shí),或父類成員變量被隱藏時(shí),子類中只能通過(guò)super訪問(wèn)父類方法和

父類成員變量

? final關(guān)鍵字

? 用于變量,表示變量的值不可改變

? 用于類,表示類不可被繼承

? 用于方法,表示方法不可以被重寫(xiě)

? 關(guān)于final變量的初始化時(shí)機(jī)

? 局部變量:聲明的時(shí)候初始化

? 實(shí)例成員變量:聲明、對(duì)象初始化塊和構(gòu)造方法三處之一

? 靜態(tài)成員變量:聲明、靜態(tài)塊兩處之一

? 抽象類

? 抽象類可以包含抽象方法,也可以不包含抽象方法

? 含有抽象方法的類必須定義為抽象類

? 抽象類有構(gòu)造方法

? 抽象類不能夠?qū)嵗?/p>

? 通過(guò)抽象類可以調(diào)用其靜態(tài)成員

? 抽象類是需要由子類繼承的,因此抽象類不允許是final類

? 抽象方法

? 抽象方法沒(méi)有方法體,包括一對(duì)空的大括號(hào)也不允許有

? 抽象方法必須是實(shí)例方法,抽象方法不允許是final的? 抽象類與繼承

? 抽象類可以被繼承

? 若抽象類的子類是非抽象類,則該子類必須實(shí)現(xiàn)(重寫(xiě))其父類的所有抽象方法 ? 若抽象類的子類也是抽象類,則該子類可以不實(shí)現(xiàn)(重寫(xiě))其父類的全部或部分抽象

方法。

? 接口

? 接口也是數(shù)據(jù)類型,可以將其理解為“純”抽象類

? 接口不是類,也沒(méi)有構(gòu)造方法,不能夠?qū)嵗?/p>

? 接口中的屬性一律是public、static、final的,并可以省略這三個(gè)關(guān)鍵字

? 接口的方法一律是public、abstract的,并且可以省略這兩個(gè)關(guān)鍵字

? 接口中可以不包含任何屬性和方法

? 接口與實(shí)現(xiàn)

? 接口不是類,因此接口與類的關(guān)系不是“繼承”關(guān)系,而是“實(shí)現(xiàn)”關(guān)系,我們可

以將實(shí)現(xiàn)理解為繼承(盡管這并不恰當(dāng))

? 如果接口的實(shí)現(xiàn)類是抽象類,則該實(shí)現(xiàn)類可以不實(shí)現(xiàn)接口的全部或部分方法 ? 如果接口的實(shí)現(xiàn)類是非抽象類,則該實(shí)現(xiàn)類必須實(shí)現(xiàn)接口的全部方法

? 一個(gè)類可以實(shí)現(xiàn)多個(gè)接口

? 接口與繼承

? 接口之間可以相互繼承

? 一個(gè)接口可以繼承多個(gè)接口

? 接口與類型轉(zhuǎn)換

? 接口的的子類型對(duì)象可以自動(dòng)向上轉(zhuǎn)型為接口類型

? 接口的子類型指:是接口的實(shí)現(xiàn)類或者接口的子接口

? 如果變量引用的對(duì)象實(shí)際是某個(gè)接口的實(shí)現(xiàn)類對(duì)象,而變量的類型不是這個(gè)接口的子類型,那么則可以強(qiáng)制轉(zhuǎn)換為這個(gè)接口類型。

? 異常的類層次結(jié)構(gòu)

? Throwable錯(cuò)誤類,表示不可恢復(fù)的致命錯(cuò)誤

? Exception運(yùn)行時(shí)異常,此類異常可以不做顯式處理

? 非運(yùn)行時(shí)異常catch

? 聲明拋出 在方法頭通過(guò)throws聲明可能拋出的異常類型

? 異常機(jī)制的五個(gè)關(guān)鍵字

? try catch finally throw throws

? 如何使用

? try-catch

? try-catch-finally注:只要try執(zhí)行,其對(duì)應(yīng)的finally塊才必然執(zhí)行

? try-finally注:只要try執(zhí)行,其對(duì)應(yīng)的finally塊才必然執(zhí)行

? throw 主動(dòng)拋出一個(gè)異常

? throws 用在方法聲明頭部,聲明方法可能拋出異常

? finally代碼塊多用于書(shū)寫(xiě)資源回收代碼

? Java集合類(集合框架)

? Collection接口

? List接口 允許重復(fù)元素,元素有索引序號(hào),并按放入元素的次序編號(hào)

? ArrayList 線性表結(jié)構(gòu),查找快,增刪慢

? LinkedList 鏈表結(jié)構(gòu),查找慢,增刪快

? Vector 同步,查找、增刪性能都不高。

? Set接口 不允許重復(fù)元素,元素?zé)o索引編號(hào)

? HashSet 元素散列存放

? TreeSet元素按自然順序排序(即從小到大排序)

? Map接口

? HashMap

? 允許null值和null鍵

? 不同步

? Hashtable <--Properties

? 不允許null值和null鍵

? 同步

? 內(nèi)部類

第五篇:JAVA基礎(chǔ)知識(shí)點(diǎn)總結(jié)

1)開(kāi)發(fā)Java語(yǔ)言的公司? Sun(Sun Microsystems)太陽(yáng)微電子公司開(kāi)發(fā) 2)

Java的3個(gè)版本?

J2SE(Java2 Standard Edition)標(biāo)準(zhǔn)版

J2EE(Java 2 Platform,Enterprise Edition)企業(yè)版 J2ME(Java 2 Micro Edition)微小版

在5.0以后新版本中稱作:JavaSE JavaEE JavaME 3)

Java語(yǔ)言的幾個(gè)主要特點(diǎn)?平臺(tái)無(wú)關(guān)性:能運(yùn)行于不同的平臺(tái)上

安全性:去掉了指針操作,內(nèi)存由操作系統(tǒng)分配 面向?qū)ο螅豪妙愂钩绦蚋永诰S護(hù)

分布式:可以使用網(wǎng)絡(luò)文件和使用本機(jī)文件一樣容易 健壯性:檢查程序編譯和運(yùn)行的錯(cuò)誤 4)

Java的三大核心機(jī)制

虛擬機(jī)機(jī)制:利用虛擬機(jī)解釋字節(jié)碼執(zhí)行java程序?qū)崿F(xiàn)跨平臺(tái) 垃圾收集機(jī)制:自動(dòng)內(nèi)存回收

代碼安全性機(jī)制:加載代碼后校驗(yàn)代碼后再執(zhí)行代碼 第2章Java語(yǔ)言的開(kāi)發(fā)環(huán)境 1)

JDK是什么?

JDK(Java Development Kit)Java開(kāi)發(fā)工具包。包括了JRE,是開(kāi)發(fā)Java的人員必備的開(kāi)發(fā)運(yùn)行Java程序的工具。2)

JRE是什么?

JRE(Java Runtime Environment)Java運(yùn)行環(huán)境,運(yùn)行JAVA程序所必須的環(huán)境的集合,包含JVM標(biāo)準(zhǔn)實(shí)現(xiàn)及Java核心類庫(kù)。3)

JVM是什么?

JVM(Java Virtual Machine)Java虛擬機(jī),它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī),是通過(guò)在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的。4)

安裝JDK的操作系統(tǒng)問(wèn)題?

必須針對(duì)于不同的操作系統(tǒng)下載安裝不同的JDK,例如windows下安裝針對(duì)于windows的JDK,linux下安裝針對(duì)于linux的JDK。

5)需要配置的相關(guān)環(huán)境變量? path:用于搜索外部命令,例如編譯程序的javac命令,執(zhí)行程序的java命令

classpath:用于搜索類,即class文件,例如可以在不同的位置執(zhí)行類文件 6)

配置環(huán)境變量的方式? 有兩種:臨時(shí)配置和持久配置

臨時(shí)配置:在命令行下用set 變量名=變量值,僅在當(dāng)前命令行窗口有效

持久配置:在我的電腦——屬性中配置,持久有效 7)可以編寫(xiě)Java程序的常見(jiàn)開(kāi)發(fā)工具? 記事本,EditPlus,ULTRAEDIT,Eclipse,Jbuilder,NetBeans 8)

Java文件的類型?

有兩種:

擴(kuò)展名為java的文件:是Java源文件,屬于編譯之前的純文本文件,存儲(chǔ)java源代碼。

擴(kuò)展名為class的文件:是Java類文件,屬于編譯之后的二進(jìn)制文件,存儲(chǔ)字節(jié)碼。9)

Java的編譯運(yùn)行原理?

首先編寫(xiě)java源文件,然后編譯成class類文件,然后通過(guò)虛擬機(jī)解釋成機(jī)器碼到硬件執(zhí)行。

10)Java是編譯型語(yǔ)言還是解釋型的語(yǔ)言?

既不是完全編譯型,也不是完全解釋型,是半編譯半解釋的。第3章Java程序的基本結(jié)構(gòu) 1)

Java語(yǔ)言區(qū)分大小寫(xiě)嗎?

區(qū)分,不管是數(shù)據(jù)還是標(biāo)識(shí)符或者關(guān)鍵字都區(qū)分大小寫(xiě),例如public不能寫(xiě)成Public,“abc”不能寫(xiě)成“ABC”,int i不能寫(xiě)成INT I等等。2)main方法是作什么用處的? 這是程序的入口方法,是由虛擬機(jī)自動(dòng)調(diào)用的。

3)語(yǔ)句必須用分號(hào)結(jié)束嗎? 必須的,但是代碼塊{}可以用分號(hào)結(jié)束,也可以不用分號(hào)結(jié)束

4)

Java中有幾種注釋,各自的功能

有三種:

單行注釋//:加在行首只能注釋一行 多行注釋/* */:注釋多行,但不能嵌套使用

文檔注釋/***/:用于生成HTML形式的文檔,需要配合javadoc命令實(shí)現(xiàn) 5)Java語(yǔ)言的數(shù)據(jù)類型是強(qiáng)類型還是弱類型? 是強(qiáng)類型,意味著每一個(gè)變量都必須明確聲明數(shù)據(jù)類型。6)

Java語(yǔ)言中數(shù)據(jù)類型的劃分?有什么區(qū)別? 分成基本類型和引用類型兩大類。

基本類型:有8種,只能存儲(chǔ)單一的值,不以對(duì)象的形式存在引用類型:除了基本類型之外其他的都是引用類型,能夠存儲(chǔ)復(fù)雜數(shù)據(jù)類型,以對(duì)象的形式存在 7)

基本類型都有哪8種類型? 布爾類型:boolean 占1字節(jié) 字符類型:char 占2字節(jié)

整型:byte 占1字節(jié) short 占2字節(jié) int 占4字節(jié) long 占8字節(jié)

浮點(diǎn)型:float 占4字節(jié)double 占8字節(jié) 8)

布爾值可不可以用0或者非0數(shù)代替?

不可以,布爾值只能是true和false,不能使用數(shù)字,這和C語(yǔ)言是不一樣的。9)

直接寫(xiě)個(gè)整數(shù)10默認(rèn)是什么類型的?

整型的直接量例如10,100等默認(rèn)的數(shù)據(jù)類型都是int型 10)如何讓一個(gè)整型的直接量變成long型的? 在直接量后面加大寫(xiě)L后者小寫(xiě)l,例如10L 11)整型數(shù)據(jù)在程序中直接使用可以使用什么進(jìn)制? 10進(jìn)制,8進(jìn)制,16進(jìn)制,但不能使用二進(jìn)制 12)浮點(diǎn)運(yùn)算在Java中有沒(méi)有誤差? 有誤差,所以精密運(yùn)算請(qǐng)使用BigDecimal類 13)直接寫(xiě)一個(gè)3.14的直接量是什么數(shù)據(jù)類型的?

是double型,如果想表示是float的3.14必須寫(xiě)成3.14F或者3.14f,double型的3.14也可以寫(xiě)成3.14D 14)char型采取的是什么類型的字符集?

是Unicode全球統(tǒng)一編碼,支持任何世界上官方的語(yǔ)言中的字符

15)常見(jiàn)的轉(zhuǎn)義字符有哪些? 轉(zhuǎn)義序列 名稱 b 退格 t 制表 n 換行 r

回車(chē)

” 雙引號(hào) ’ 單引號(hào) 反斜杠

16)常見(jiàn)的Unicode字符對(duì)應(yīng)的編碼?

大寫(xiě)的A到Z是對(duì)應(yīng)65到90,小寫(xiě)的a到z是對(duì)應(yīng)97到122,字符0到9是對(duì)應(yīng)48到57

17)空字符是不是用’’(兩個(gè)并列的單引號(hào))來(lái)表示? 不是,空字符用’u0000’來(lái)表示,兩個(gè)并列的單引號(hào)什么也不是。

18)點(diǎn),分號(hào),花括號(hào)的各自的作用?

點(diǎn)的作用有兩個(gè):一個(gè)是使用類或?qū)ο笾械某蓡T,用對(duì)象.成員,再一個(gè)就是包名和子包名之間的分隔符,例如頂層包名.子包名 分號(hào)的作用是表示語(yǔ)句結(jié)束 花括號(hào)的作用是代表一個(gè)語(yǔ)句塊

19)語(yǔ)句和關(guān)鍵字之間可以有任意的空白嗎? 可以的,例如System.out.println(100);就是正確的語(yǔ)句,但是關(guān)鍵字本身不能加空白或換行

20)標(biāo)識(shí)符是什么?

標(biāo)識(shí)符就是指在程序中給包,類,接口,方法,變量起的名字 21)標(biāo)識(shí)符有什么起名規(guī)則? 1. 應(yīng)以字母、下劃線、美元符開(kāi)頭 2. 后跟字母、下劃線、美元符或數(shù)字 3. 不能用關(guān)鍵字和保留字

4. 嚴(yán)格區(qū)分大小寫(xiě) 5. 名稱長(zhǎng)度沒(méi)有限制 22)中文的變量名可以嗎?

是可以的,例如 int 數(shù)字 = 10;這個(gè)語(yǔ)句是正確的。因?yàn)閖ava中采取Unicode字符集,所以任何的Unicode中的字符都可以作為標(biāo)識(shí)符的名稱,但考慮字符集的支持問(wèn)題推薦還是使用英文字母命名。

23)關(guān)鍵字和保留字有區(qū)別嗎?

在1.5后沒(méi)有區(qū)別,都被稱作關(guān)鍵字,但是1.5之前認(rèn)為關(guān)鍵字是在Java中有特殊用途的不允許編程人員擅自改作其他用途,而保留字是在Java中沒(méi)有特殊用途但不允許編程人員擅自改作其他用途,按此說(shuō)法goto和const應(yīng)該是此意義上的保留字。

24)true,false,null可以用作標(biāo)識(shí)符命名嗎?

不可以,這3個(gè)雖然不是關(guān)鍵字,但都是有特殊用途的值,也不能作為標(biāo)識(shí)符命名

25)一條聲明語(yǔ)句可以聲明多個(gè)變量嗎? 可以的,例如以下聲明都是正確的int i;int i,j;int i = 10,j;int i,j = 10;

int i = 10,j = 20;

26)變量在沒(méi)有賦值的情況下可以使用嗎?

不可以,變量沒(méi)有賦值使用會(huì)報(bào)出變量未初始化的編譯錯(cuò)誤。27)常量有什么特點(diǎn)?

在聲明變量的時(shí)候加上final修飾符即為常量,表示這個(gè)變量只能被賦一次值。

28)算數(shù)運(yùn)算符有哪些? 基本算數(shù)運(yùn)算符有+-* / % ++--

29)單目運(yùn)算符,雙目運(yùn)算符,三目運(yùn)算符都是什么意思? 其實(shí)也有叫一元運(yùn)算符,雙元操作符,三元操作符的,指的是

有幾個(gè)操作數(shù)形成一個(gè)完整表達(dá)式,例如++就是一個(gè)單目運(yùn)算符,只需要一個(gè)操作數(shù)就可以形成表達(dá)式,像i++,而+運(yùn)算符就是雙目運(yùn)算符,需要兩個(gè)操作數(shù)形成表達(dá)式,例如5 + 3,還有三目運(yùn)算符,例如5 > 3 ? 0 :-1

30)++和--放在前面和放在后面有什么區(qū)別?

如果是在一個(gè)表達(dá)式中,那++放后面表示先運(yùn)算表達(dá)式,然后再進(jìn)行自增運(yùn)算,如果在一個(gè)表達(dá)式中,++放前面,則表示先進(jìn)行自增運(yùn)算然后在運(yùn)算表達(dá)式。--同樣道理。例如: int i = 10;int j = i ++;//先進(jìn)行賦值運(yùn)算然后再進(jìn)行自增運(yùn)算j的結(jié)果是10

int i = 10;

int j = ++ i;//先進(jìn)行自增運(yùn)算然后再進(jìn)行賦值運(yùn)算

j的結(jié)果是11

31)-5 % 2等于幾,5 %-2等于幾?

-5 % 2等于-1,5%-2等于1,運(yùn)算得到是正數(shù)還是負(fù)數(shù)取決于第一個(gè)操作數(shù)的符號(hào) 32)5 / 2 結(jié)果是不是2.5?

不是,是2,因?yàn)?和2都是int類型,所以不可能得到double型的結(jié)果。

33)比較運(yùn)算符有哪些?

有><>=<===!= 六項(xiàng)基本比較運(yùn)算 34)任何數(shù)據(jù)類型都可以使用> < >= <=運(yùn)算符嗎?

不是所有數(shù)據(jù)類型,例如true>false這個(gè)表達(dá)式就是編譯錯(cuò)誤,布爾類型和引用類型的表達(dá)式只能用==和!=兩個(gè)比較運(yùn)算,例如”abc” <= ”xyz” 這個(gè)表達(dá)式也是編譯錯(cuò)誤的 35)’a’ > ’b’這個(gè)表達(dá)式編譯正確嗎?

編譯正確,’a’和’b’是字符類型,內(nèi)部用Unicode編碼表示的話a是97,b是98,所以實(shí)際上比較的是97>98,結(jié)果為false 36)邏輯運(yùn)算符有哪些?

有 &邏輯與,|邏輯或,!邏輯非,^ 異或,&& 短路與,||短路或

37)邏輯與,邏輯或和短路與,短路或有什么區(qū)別? 邏輯與和短路與的區(qū)別是: ?

如果是邏輯與&,不管第一個(gè)表達(dá)式是true還是false,都會(huì)執(zhí)行第二個(gè)表達(dá)式,例如a > b & x < y,即使a > b為false,也會(huì)執(zhí)行x > y ?

如果是短路與&&,如果第一個(gè)表達(dá)式為false,將不會(huì)執(zhí)行第二個(gè)表達(dá)式

例如a > b && x < y,如果a > b為false,就不會(huì)執(zhí)行x > y

以此類推,邏輯或和短路或的區(qū)別是:

? 如果是邏輯或|,不管第一個(gè)表達(dá)式是true還是false,都會(huì)執(zhí)行第二個(gè)表達(dá)式 ?

如果是短路或||,如果第一個(gè)表達(dá)式為true,將不會(huì)執(zhí)行

第二個(gè)表達(dá)式

38)與或非三個(gè)邏輯運(yùn)算符的優(yōu)先級(jí)是怎么排列的? “非”優(yōu)先級(jí)最高,“與”其次,“或”優(yōu)先級(jí)最低 39)原碼,反碼,補(bǔ)碼分別是什么意思? ?

原碼:將數(shù)字轉(zhuǎn)換為二進(jìn)制,第一位為符號(hào)位,正數(shù)為0,負(fù)數(shù)為1

例如:12的原碼是00001100-12的原碼是10001100 ?

反碼:正數(shù)的反碼和原碼相同,負(fù)數(shù)的反碼將原碼符號(hào)位之外的位逐位取反

例如:12的反碼是00001100-12的反碼是11110011 ?

補(bǔ)碼:正數(shù)的補(bǔ)碼和原碼相同,負(fù)數(shù)的補(bǔ)碼將反碼加1 例如:12的補(bǔ)碼是00001100-12的補(bǔ)碼是11110100 最后強(qiáng)調(diào)一點(diǎn),計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)用補(bǔ)碼形式來(lái)存儲(chǔ)。40)位運(yùn)算符都有哪些?

&與 |或 ^異或 ~非 >>右移 <<左移 >>>無(wú)符號(hào)右移 41)1<<35怎么理解?

1是int類型是32位,所以需要把35%32=3,所以事實(shí)上是和執(zhí)行1<<3等價(jià)的42)數(shù)據(jù)類型轉(zhuǎn)換需要遵循什么原則?

小類型向大類型轉(zhuǎn)換,是自動(dòng)轉(zhuǎn)換的,或者說(shuō)隱式轉(zhuǎn)換的 大類型向小類型轉(zhuǎn)換,是需要強(qiáng)制轉(zhuǎn)換的,或者說(shuō)顯式轉(zhuǎn)換例如:byte b = 1;

short s = b;//自動(dòng)轉(zhuǎn)換

b =(byte)s;//強(qiáng)制轉(zhuǎn)換

43)byte b = 10這個(gè)語(yǔ)句是正確的,為什么10是int型比byte大還不需要強(qiáng)制轉(zhuǎn)換呢?

因?yàn)樵趈ava中做了特殊處理,其中規(guī)定byte,short,char類型可以直接賦予int類型的直接量,例如: byte b = 10;short s = 10;char c = 10;

以上賦值語(yǔ)句都是正確的。

但是不能超出超出類型的范圍,例如以下賦值就是錯(cuò)誤的: byte b = 128;

如果超出范圍,必須得作強(qiáng)制轉(zhuǎn)換,例如以下語(yǔ)句是正確的: byte b =(byte)128;

需要強(qiáng)調(diào)的是,必須是int類型的直接量,以下語(yǔ)句就是錯(cuò)誤的: byte b = 10L;

10L不是int類型的直接量。

44)byte b =(byte)300;強(qiáng)制轉(zhuǎn)換后的結(jié)果是44,是按照什么規(guī)律得出來(lái)的?

是先把300轉(zhuǎn)換成二進(jìn)制,然后根據(jù)byte類型的大小截取了后8個(gè)位

300的補(bǔ)碼是00000000 00000000 00000001 00101100

b的結(jié)果是:00000000 00000000 00000001 00101100 結(jié)果為44 45)byte b =(byte)true;這個(gè)轉(zhuǎn)換成立嗎?

不成立,布爾值和數(shù)字是不兼容的,不能作任何轉(zhuǎn)換。

46)int i =(int)“100”;這個(gè)轉(zhuǎn)換成立嗎?

不成立,引用類型和基本類型是不能直接強(qiáng)制轉(zhuǎn)換的,需要用包裝類的方法來(lái)轉(zhuǎn)換。

47)char型和short型哪個(gè)比較大?

不能說(shuō)哪個(gè)大,哪個(gè)小,這兩個(gè)類型char的取值是從0~65535,而short類型的取值是-32768~32767,這個(gè)兩個(gè)類型之間的轉(zhuǎn)換都需要強(qiáng)制轉(zhuǎn)換。

48)字符串是不是基本類型?

不是,String是java.lang包中的一個(gè)類,是引用類型的,8種基本類型中沒(méi)有一個(gè)是String類型。49)空字符串用什么來(lái)表示?

用””(兩個(gè)并列的雙引號(hào))表示,代表0個(gè)長(zhǎng)度的字符串對(duì)象。50)String s = “”;和String s = null;有什么區(qū)別?

第一個(gè)表示s被賦值,指向了一個(gè)字符串對(duì)象,第二個(gè)表示s沒(méi)有指向任何對(duì)象實(shí)例,是真空

51)兩個(gè)字符串用什么運(yùn)算符可以連成一個(gè)字符串? 用+運(yùn)算符,例如”abc” + “xyz”最后的結(jié)果就是“abcxyz” 52)數(shù)學(xué)運(yùn)算符加法和字符串連接符都是+,怎么區(qū)分? 是通過(guò)運(yùn)算符兩邊的操作數(shù)來(lái)判斷的,如果兩邊的操作數(shù)都是數(shù)字型的基本類型,則進(jìn)行數(shù)學(xué)運(yùn)算,如果兩邊的操作數(shù)有一個(gè)是字符串,則把另一個(gè)操作數(shù)也轉(zhuǎn)換為則進(jìn)行字符串連接運(yùn)算。例如:+ 4 的結(jié)果是9 “5” + 4的結(jié)果是54

53)判斷字符串內(nèi)容相同用什么方法?

用equals方法判斷內(nèi)容相同,==只能判斷引用是否相同 54)提供用戶輸入使用哪個(gè)類 使用javav.util.Scanner類

55)if語(yǔ)句可以用if(-1)形式判斷嗎? 不可以,數(shù)字不能代替布爾值

56)if語(yǔ)句和循環(huán)語(yǔ)句的花括號(hào)什么時(shí)候可以省略?

當(dāng)執(zhí)行的語(yǔ)句只有一句的時(shí)候 57)switch語(yǔ)句有哪些規(guī)則?

表達(dá)式expr的返回值必須是下述幾種類型之一:int, byte, char, short或枚舉常量;

case子句中的值必須是常量,且所有case子句中的值應(yīng)是不同的,也必須是下述幾種類型之一:int, byte, char, short或枚舉常量

default子句是任選的;

break語(yǔ)句用來(lái)在執(zhí)行完一個(gè)case分支后使程序跳出switch語(yǔ)句塊;

58)對(duì)于退出循環(huán)break和continue有什么區(qū)別? break是退出整個(gè)循環(huán)

continue是退出當(dāng)前循環(huán)繼續(xù)下一次循環(huán) 59)聲明數(shù)組創(chuàng)建數(shù)組的方法? 以下聲明都是合法的: int [] a;int a[];String[] a;

以下創(chuàng)建數(shù)組對(duì)象都是合法的: int[] a = new int[3];int[] a = {1,2,3};int[] a = new int[] {1,2,3};

60)int[] x和String[] s這兩個(gè)數(shù)組對(duì)象,哪個(gè)是基本類型,哪個(gè)是引用類型?

兩個(gè)都是數(shù)組對(duì)象,都是引用類型的61)數(shù)組元素下標(biāo)最小是多少,最大是多少,超出范圍會(huì)怎么樣?

最小是0,最大是數(shù)組元素個(gè)數(shù)減一,超出范圍將會(huì)出現(xiàn)下標(biāo)越界異常

62)得到數(shù)組長(zhǎng)度用length屬性還是length()方法? 是length屬性,得到字符串長(zhǎng)度才有l(wèi)ength方法

63)聲明int[][] a = new int[3][],a是一個(gè)二維數(shù)組,a[0]本身

是什么類型的?

二維數(shù)組的元素都是一維數(shù)組,a[0]是int[]類型的 64)數(shù)組的大小一經(jīng)創(chuàng)建可不可以改變大小了? 不可以,數(shù)組是定長(zhǎng)的,一經(jīng)創(chuàng)建就不能再改變大小了 65)可以把2個(gè)int型,3個(gè)double型,4個(gè)String型的值放到一個(gè)數(shù)組中嗎?

不可以,數(shù)組的元素類型必須是相同類型的。66)java中的多維數(shù)組必須是要形成矩陣排列嗎? 不一定,也可以是不規(guī)則的。67)操作數(shù)組比較方便的實(shí)用類?

java.util.Arrays類提供了很多關(guān)于數(shù)組的實(shí)用方法。第4章對(duì)象和類 1)OOP是什么意思? Object Oriented Programming(面向?qū)ο缶幊?

2)

類和對(duì)象的區(qū)別?

類:對(duì)象的藍(lán)圖,生成對(duì)象的模板,是對(duì)一類事物的描述,是抽象的概念上的定義

對(duì)象:對(duì)象是實(shí)際存在的該類事物的每個(gè)個(gè)體,因而也稱為實(shí)例 3)

類之間的3種關(guān)系? 依賴關(guān)系(uses-a)聚集關(guān)系(has-a)繼承關(guān)系(is-a)4)

一個(gè)java源文件可以寫(xiě)多個(gè)類嗎?

可以,但必須只能有一個(gè)公有類,并且文件名和公有類的類名相同。5)類中有哪些成員?

有屬性(數(shù)據(jù)域),方法,構(gòu)造器(構(gòu)造方法)

6)

構(gòu)造方法和普通方法的區(qū)別?

構(gòu)造方法沒(méi)有返回值,方法名必須和類名相同,需要用new語(yǔ)句調(diào)用構(gòu)造方法。7)

普通方法可不可以也類名作為方法名?

是可以的,因?yàn)檎{(diào)用普通方法的語(yǔ)法和調(diào)用構(gòu)造器的語(yǔ)法不一樣。8)

一個(gè)構(gòu)造器調(diào)用另外一個(gè)構(gòu)造器需要用什么語(yǔ)法? 用this()語(yǔ)法調(diào)用另外一個(gè)重載構(gòu)造器,需要注意的是調(diào)用語(yǔ)句必須是構(gòu)造器中的第一句 9)

什么時(shí)候虛擬機(jī)會(huì)自動(dòng)添加一個(gè)默認(rèn)構(gòu)造器?

當(dāng)類中沒(méi)有顯式定義任何構(gòu)造器的時(shí)候,虛擬機(jī)會(huì)自動(dòng)添加一個(gè)無(wú)參的構(gòu)造器

10)實(shí)例成員和靜態(tài)成員的區(qū)別?

實(shí)例成員:是屬于對(duì)象實(shí)例的,用對(duì)象.成員名稱語(yǔ)法調(diào)用 靜態(tài)成員:和對(duì)象實(shí)例無(wú)關(guān),是屬于類本身的,用類名.成員名稱語(yǔ)法調(diào)用

11)靜態(tài)初始化塊statci{}的執(zhí)行時(shí)機(jī)是什么時(shí)候? 在類被加載的時(shí)候,僅執(zhí)行一次。

12)靜態(tài)方法可不可以直接調(diào)用同一個(gè)類中的非靜態(tài)方法? 不可以,靜態(tài)方法不能直接調(diào)用一個(gè)非靜態(tài)成員,需要用對(duì)象調(diào)用。

13)包是什么?

包實(shí)際上就是物理上的文件夾,可以把類放到不同的包中。14)把一個(gè)類放到包中,需要在類中加上什么語(yǔ)句? 需要加上包聲明package語(yǔ)句,必須寫(xiě)在源文件的第一句。15)什么時(shí)候需要導(dǎo)入類?用什么語(yǔ)句?

當(dāng)使用的類和當(dāng)前類并不在同一個(gè)包中的時(shí)候,用import語(yǔ)句導(dǎo)入。

16)默認(rèn)包中的類可以導(dǎo)入嗎?

不可以,不在默認(rèn)包中的類無(wú)法使用默認(rèn)包中的類。17)java中哪個(gè)包中的類是自動(dòng)導(dǎo)入的? java.lang包

18)什么叫做完整類名? 頂層包名.子包名.類名

19)靜態(tài)導(dǎo)入語(yǔ)句有什么作用?

在使用類中的靜態(tài)成員的時(shí)候前面不需要加類名前綴。

20)局部變量和全局變量的區(qū)別? 區(qū)別 局部變量 全局變量

聲明位置 方法或塊內(nèi)部 方法外類內(nèi)部 訪問(wèn)權(quán)限修飾符 沒(méi)有訪問(wèn)權(quán)限 有訪問(wèn)權(quán)限

默認(rèn)值 沒(méi)有默認(rèn)值

有默認(rèn)值

使用形式 直接使用 對(duì)象調(diào)用

作用域

在方法或語(yǔ)句塊內(nèi)部 整個(gè)類

生命周期 進(jìn)入方法或語(yǔ)句塊創(chuàng)建退出方法或語(yǔ)句塊銷(xiāo)毀 隨著對(duì)象的創(chuàng)建而創(chuàng)建隨著對(duì)象的銷(xiāo)毀而銷(xiāo)毀

21)賦值語(yǔ)句賦給目標(biāo)的是值還是引用?

如果是基本類型則賦的是值本身,引用類型則賦的是引用地址 第5章繼承和多態(tài) 1)類的繼承是誰(shuí)繼承誰(shuí)?

是子類繼承了父類,子類也稱為派生類,父類也稱為超類或基

類 2)子類繼承了父類的什么東西?

子類可以繼承父類的數(shù)據(jù)域(屬性),方法,但構(gòu)造器不能繼

承 3)

私有成員能被子類繼承嗎?

能繼承,但是由于訪問(wèn)權(quán)限的控制,在子類中不能直接使用父類的私有成員 4)

Object是什么類?

這個(gè)所有類的根類,任何類如果沒(méi)有寫(xiě)顯式的繼承語(yǔ)句,默認(rèn)都是直接繼承Object類的 5)java中是單繼承還是多繼承?

是單繼承,一個(gè)子類只能有一個(gè)父類 6)

訪問(wèn)權(quán)限修飾符有幾種,訪問(wèn)的范圍又是多大? 有四種:

private:私用 只能在被類中被訪問(wèn) default:默認(rèn) 只能被同一個(gè)包中的類訪問(wèn)

protected:受保護(hù)的 只能被同一個(gè)包中的類和不同包中的子類

訪問(wèn)

public:公有 可以被任何類訪問(wèn) 7)

覆蓋方法的規(guī)則有哪些?

子類覆蓋方法和父類被覆蓋方法的方法返回類型,方法名稱,參數(shù)列表必須相同

子類覆蓋方法的訪問(wèn)權(quán)限必須大于等于父類的方法的訪問(wèn)權(quán)限

方法覆蓋只能存在于子類和父類之間

子類覆蓋方法不能比父類被覆蓋方法拋出更多異常 8)

參數(shù)列表是否相同從哪幾方面看?

從三方面看:參數(shù)個(gè)數(shù),類型和順序,需要注意的是參數(shù)的名字不相同是無(wú)所謂的 9)

覆蓋方法的規(guī)則有哪些? 方法名相同

方法的參數(shù)類型,個(gè)數(shù),順序至少有一項(xiàng)不同 方法的返回類型和修飾符均不受限制

10)可變長(zhǎng)參數(shù)的聲明格式是什么?實(shí)際上是什么類型的? 類型 ? 變量,實(shí)際上是一個(gè)一維數(shù)組 11)this和super是作什么用處的?

this:本身代表當(dāng)前的對(duì)象引用,可以用this.成員名稱調(diào)用當(dāng)前對(duì)象的屬性和方法,如果屬性和局部變量重名,可以用this.屬性名和局部變量區(qū)分開(kāi)。也可以用this()語(yǔ)法調(diào)用本類重載構(gòu)造器。

super:本事是一個(gè)特殊關(guān)鍵字,可以用super.成員名稱調(diào)用從父類繼承的屬性和方法,也可以用super()語(yǔ)法調(diào)用父類構(gòu)造器。

12)super代表子類中的父類對(duì)象引用嗎?

不,這個(gè)錯(cuò)誤的說(shuō)法,super不代表任何對(duì)象引用,僅僅是一個(gè)關(guān)鍵字

13)什么時(shí)候子類構(gòu)造器會(huì)自動(dòng)調(diào)用父類無(wú)參構(gòu)造器? 當(dāng)子類構(gòu)造器中沒(méi)有任何顯式構(gòu)造器調(diào)用的時(shí)候,即既沒(méi)有this()調(diào)用也沒(méi)有super()調(diào)用的時(shí)候

14)一個(gè)父類類型的引用變量可以引用一個(gè)子類的實(shí)例嗎? 可以,這個(gè)引用變量是一個(gè)多態(tài)對(duì)象 15)多態(tài)對(duì)象有什么特點(diǎn)?

多態(tài)對(duì)象只能使用父類的成員,但如果多態(tài)對(duì)象使用了被子類覆蓋的方法,則會(huì)動(dòng)態(tài)綁定使用子類的成員,稱為虛擬方法調(diào)用

16)引用類型之間的類型轉(zhuǎn)換需要遵循哪些規(guī)則? 自動(dòng)轉(zhuǎn)換:從子類到父類的類型可以自動(dòng)轉(zhuǎn)換 強(qiáng)制轉(zhuǎn)換:從父類到子類的類型要強(qiáng)制轉(zhuǎn)換 無(wú)繼承關(guān)系的類型轉(zhuǎn)換是非法的 17)instanceof操作符是作什么用處的?

可以判斷一個(gè)對(duì)象的類型是否是某一個(gè)類的類型或子類,也可以判斷這個(gè)對(duì)象的類型是否是一個(gè)接口的實(shí)現(xiàn)類 18)toString方法什么時(shí)候會(huì)自動(dòng)被調(diào)用?

在打印語(yǔ)句中傳入引用類型的對(duì)象或者對(duì)象和字符串作連接時(shí)

19)默認(rèn)的equals方法實(shí)現(xiàn)的是比較內(nèi)容還是比較引用地址?

在Object中是比較引用地址。

20)覆蓋equals方法和hashCode方法有什么規(guī)則? 必須保證當(dāng)兩個(gè)對(duì)象equals比較為true的時(shí)候,返回的hashCode相同,當(dāng)比較為false的時(shí)候,返回的hashCode不同21)java中有幾個(gè)包裝類?

有8個(gè)包裝類,正好對(duì)應(yīng)8種基本數(shù)據(jù)類型。

分別是:Boolean Byte Short Integer Long Character Float Double 22)裝箱和拆箱分別是什么意思?

裝箱指的是把基本類型包裝成包裝類的引用類型 拆箱指的是把包裝類形式的引用類型轉(zhuǎn)換為基本類型 例如:

Integer objInt = new Integer(10);//裝箱

int i = objInt.intValue();

//拆箱

23)JDK1.4和1.5的裝箱和拆箱有什么區(qū)別?

自動(dòng)拆裝箱,例如: Integer intObj = 10;//自動(dòng)裝箱 int i = intObj + 5;//自動(dòng)拆箱

24)final修飾符如何使用,使用了final修飾符有什么特點(diǎn)? final修飾符可以修飾類,方法,變量 final類為最終類,不能被子類繼承 final方法為最終方法,不能被子類覆蓋 final變量為常量,只能賦一次值

25)abstract修飾符如何使用,使用了abstract修飾符有什么特點(diǎn)?

abstract修飾符可以修飾類和方法 abstract類為抽象類,是不能創(chuàng)建對(duì)象的abstract方法為抽象方法,只有方法的聲明,沒(méi)有具體的實(shí)現(xiàn) 需要注意的是:

有抽象方法的類一定是抽象類 抽象類不一定有抽象方法

抽象類也有構(gòu)造器,但不能創(chuàng)建對(duì)象實(shí)例 26)abstract不能和哪些修飾符配合使用? 不能和private,static,final一起使用 27)可以在非抽象方法中調(diào)用抽象方法嗎? 可以,模板方法設(shè)計(jì)模式就是典型的這種調(diào)用 第6章 泛型程序設(shè)計(jì) 1)泛型的特點(diǎn)是什么? 主要特點(diǎn)是類型參數(shù)化,后期綁定數(shù)據(jù)類型 2)泛型支持基本類型嗎?

不支持,只支持引用類型 3)如果沒(méi)有傳入類型參數(shù),默認(rèn)是什么類型? 默認(rèn)是Object類型

4)泛型方法有什么特點(diǎn)?

將泛型參數(shù)聲明在方法中,調(diào)用方法的時(shí)候綁定泛型 5)

泛型類聲明泛型參數(shù)的時(shí)候,表示什

么意思?

表示綁定的類型必須是A類型后者是A類型的子類或?qū)崿F(xiàn)類 第7章 接口和內(nèi)部類

1)聲明一個(gè)接口的關(guān)鍵字是什么? interface關(guān)鍵字

2)

接口中的成員有什么特點(diǎn)?

數(shù)據(jù)域必須是(public static final修飾)公有靜態(tài)常量 方法必須是(public abstract修飾)公有抽象 沒(méi)有構(gòu)造方法 3)接口能創(chuàng)建對(duì)象實(shí)例嗎? 不能,接口沒(méi)有構(gòu)造器,不能創(chuàng)建對(duì)象

4)

接口和類的關(guān)系?

接口和類之間是實(shí)現(xiàn)關(guān)系,一個(gè)類用implements語(yǔ)句實(shí)現(xiàn)了某接口,這個(gè)類被稱為接口的實(shí)現(xiàn)類,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,一個(gè)類實(shí)現(xiàn)了某接口,必須覆蓋這個(gè)接口中的所以方法,否則這個(gè)類必須是個(gè)抽象類 5)

接口和接口的關(guān)系?

接口和接口之間是繼承關(guān)系,一個(gè)接口用extends繼承另外一個(gè)接口,稱為這個(gè)接口的子接口。一個(gè)接口可以繼承多個(gè)父接口 6)

內(nèi)部類如何定義?

一個(gè)類聲明在另一個(gè)類的里面,這個(gè)類就被稱為內(nèi)部類,而外面的類被稱為外部類 7)

內(nèi)部類可以分成幾種?

實(shí)例內(nèi)部類:聲明在方法外邊沒(méi)有static修飾符 靜態(tài)內(nèi)部類:聲明在方法外邊有static修飾符 局部?jī)?nèi)部類:聲明在方法里邊 8)

如何創(chuàng)建實(shí)例內(nèi)部類的對(duì)象實(shí)例? 需要用外部類的對(duì)象來(lái)創(chuàng)建 例如: class A {class B {

}

}

如果像創(chuàng)建B類的實(shí)例,則必須用以下語(yǔ)句: A a = new A();A.B b = a.new B();9)

如何在實(shí)例內(nèi)部類中訪問(wèn)外部類的成員?

在實(shí)例內(nèi)部類中可以直接使用外部類的成員,不需要?jiǎng)?chuàng)建外部類的對(duì)象實(shí)例,但是如果在內(nèi)部類中的成員名稱屏蔽隱藏了外部類的成員(即外部類和內(nèi)部類的成員名相同),則需要用“外部類名.this.成員名”訪問(wèn)外部類成員 第8章異常處理

1)異常的對(duì)象的根類是哪個(gè)類? 是Throwable類

2)

Throwable類有哪兩個(gè)分支?

分成Error類和Excepion類兩個(gè)分支 Error類表示嚴(yán)重錯(cuò)誤

Exception類表示可以在程序中處理的錯(cuò)誤 3)

Exception類有哪兩個(gè)分支?

分成運(yùn)行時(shí)異常和非運(yùn)行時(shí)異常(已檢查異常)運(yùn)行時(shí)異常編譯不檢查,在運(yùn)行時(shí)才會(huì)發(fā)生異常

已檢查異常編譯時(shí)就會(huì)作檢查,不處理異常則通不過(guò)編譯 4)如果在try塊中發(fā)生異常,那么程序?qū)?huì)跳轉(zhuǎn)到哪? 會(huì)跳轉(zhuǎn)到catch語(yǔ)句塊 5)catch語(yǔ)句可以用父類類型捕獲子類異常嗎? 因?yàn)橛卸鄳B(tài)特點(diǎn),是可以的6)處理異常代碼finally語(yǔ)句會(huì)在什么時(shí)候執(zhí)行? finally代碼在任何時(shí)候都會(huì)執(zhí)行,不管有沒(méi)有發(fā)生異常。7)

如何聲明已檢查異常,由誰(shuí)來(lái)處理這個(gè)異常? 用throws語(yǔ)句來(lái)聲明一個(gè)已檢查異常,由方法的調(diào)用者來(lái)處理這個(gè)異常 8)

如何拋出一個(gè)異常? 用throw語(yǔ)句拋出

9)如何創(chuàng)建一個(gè)自定義的異常類? 創(chuàng)建一個(gè)類,只要讓它繼承任何一個(gè)現(xiàn)有的異常類就可以了 10)覆蓋方法對(duì)于異常有什么要求? 覆蓋方法不能比父類方法拋出更多異常 第9章反射,代理,標(biāo)注

1)

獲得一個(gè)類型的Class對(duì)象有哪幾種途徑?

方法1:對(duì)象.getClass()方法2:類型名.class 方法3:Class.forName()2)

反射相關(guān)的類型都有哪些? Class 代表一個(gè)運(yùn)行時(shí)類 Field 代表一個(gè)類的屬性 Method 代表一個(gè)類的方法 Constructor 代筆一個(gè)類的構(gòu)造器 3)

如何聲明一個(gè)自定義標(biāo)注? [<修飾符>] @interface <標(biāo)注名>{ 返回值方法名稱(); 返回值方法名稱(); ?? } 例如:

public @interface MyComment { int id();String info();} 4)

java有幾個(gè)內(nèi)置標(biāo)注? 有3個(gè)

@Override——用于修飾此方法覆蓋了父類的方法,而非重載。@Deprecated——用于修飾已經(jīng)過(guò)時(shí)的方法。

@SuppressWarnings——用于通知Java編譯器禁止特定的警告。第10章 java常用類 1)

字符串String是可變類還是不可變類?

是不可變類,一經(jīng)創(chuàng)建就不能修改其內(nèi)容了 2)

字符串的常用方法有哪些? charAt方法:可以返回指定位置的字符 substring方法:可以截取子字符串 length方法:返回字符串長(zhǎng)度 indexOf方法:查找子串的位置 lastIndexOf方法:反向搜索字串的位置 replaceAll方法:替換字符串 split方法:分解字符串

toLowerCase, toUpperCase方法:字符串大小寫(xiě)轉(zhuǎn)換 3)StringBuffer類和String類有什么區(qū)別? StringBuffer是可變類,String是不可變類

4)StringBuffer類和StringBuilder類有什么區(qū)別? StringBuffer類是線程安全的,StringBuilder類是線程不安全的5)Math類主要提供了哪些方法?

Math類提供了大量的和數(shù)學(xué)運(yùn)算相關(guān)的靜態(tài)方法 6)Set集合和List集合共同的父接口是什么? 是Collection集合7)

Set集合和List集合有什么區(qū)別? Set: Collection的子接口,不記錄元素的保存順序,且不允許有重復(fù)元素

List: Collection的子接口,記錄元素的保存順序,且允許有重復(fù)元素 8)

ArrayList和LinkedList有什么不同?

ArrayList 的內(nèi)部實(shí)現(xiàn)是基于內(nèi)部數(shù)組Object[],所以從概念上

講它更像數(shù)組

LinkedList的內(nèi)部實(shí)現(xiàn)是基于一組連接的記錄,所以它更象一個(gè)鏈表 結(jié)構(gòu),所以它們?cè)谛阅苌嫌泻艽蟮牟顒e。ArrayList 隨機(jī)訪問(wèn)比較塊,但插入和刪除元素比較慢 LinkedList但插入和刪除元素比較快,但隨機(jī)訪問(wèn)比較慢 9)

HashTable和HashMap有什么不同?

HashTable是線程安全的,HashMap是線程不安全的10)Vector和ArrayList有什么不同? Vector是線程安全的ArrayList是線程不安全的 第11章 IO流 1)

流分成哪兩類?

按照單位劃分分成字節(jié)流和字符流。按輸入輸出分成輸入流和輸出流 2)

和文件流相關(guān)的有那幾個(gè)類? FileInputStream文件輸入字節(jié)流 FileOutputStream文件輸出字節(jié)流 FileReader文件輸入字符流 FileWriter文件輸出字符流 3)

文件流操作應(yīng)該用字節(jié)流還是字符流? 如果是純文本文件應(yīng)該用字符流 如果是二進(jìn)制文件應(yīng)該用字節(jié)流 4)

文件操作用哪個(gè)類? 用java.io.File類 第12章 線程 1)

創(chuàng)建一個(gè)線程類的兩種方式? 繼承Thread類 實(shí)現(xiàn)Runnable接口 2)線程體應(yīng)該放在哪個(gè)方法里面? run方法 3)啟動(dòng)新的線程用什么方法?

用start方法

4)一個(gè)線程對(duì)象能夠用start多次啟動(dòng)嗎? 不可以,一個(gè)線程方法只能start一次

5)線程有哪幾種主要狀態(tài)? 有四種,分別是:新生狀態(tài),可運(yùn)行狀態(tài),阻塞狀態(tài),死亡狀

態(tài) 6)

線程的同步需要用什么方法? 舊的方法是用synchronized關(guān)鍵字

新的方法是用ReentrantLock類的lock和unlock方法

下載《JAVA基礎(chǔ)》基本概念總結(jié)word格式文檔
下載《JAVA基礎(chǔ)》基本概念總結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    java基礎(chǔ)總結(jié)大全(筆記)

    一、基礎(chǔ)知識(shí): 1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī),用于保證java的跨平臺(tái)的特性。 java語(yǔ)言是跨平臺(tái),jvm不是跨平臺(tái)的。JRE(Java Runtime Environmen......

    Java學(xué)習(xí)_基礎(chǔ)總結(jié)

    現(xiàn)在學(xué)習(xí)JAVA的人越來(lái)越多!但是學(xué)的好的,能用到工作中去的卻很少很少,下面就是我為大家總結(jié)歸納的一些JAVA學(xué)習(xí)基礎(chǔ),希望大家少走彎路,盡快投入到工作中去! Java 學(xué)習(xí)基礎(chǔ)總結(jié)歸......

    Java基礎(chǔ)知識(shí)點(diǎn)總結(jié)-Ch1

    Java基礎(chǔ)知識(shí)點(diǎn)總結(jié) 第一章 Java語(yǔ)言概述 1.面性對(duì)象語(yǔ)言的基本特征。 Java語(yǔ)言的特點(diǎn)。最大優(yōu)勢(shì)。 Java語(yǔ)言是區(qū)分大小寫(xiě)的。 2.Java虛擬機(jī)的核心。 環(huán)境變量classpath設(shè)置......

    Java基礎(chǔ)語(yǔ)法總結(jié)2

    Java基礎(chǔ)語(yǔ)法總結(jié)2 三、運(yùn)算符 Java基 本 的 運(yùn) 算 符 按功能分有 下 面 幾 類 : 1.算 術(shù) 運(yùn) 算 符 (+,-,*,/,%,++,--) Java對(duì) 加 運(yùn) 算 符 進(jìn) 行 了 擴(kuò) 展 ,使 它 能 夠......

    Java基礎(chǔ)學(xué)習(xí)知識(shí)點(diǎn)總結(jié)

    黑馬程序員_畢向東_Java基礎(chǔ)視頻教程 Java基礎(chǔ)學(xué)習(xí)知識(shí)點(diǎn)總結(jié) 2016年01月06日day01 一、基礎(chǔ)知識(shí):軟件開(kāi)發(fā) 1、什么是軟件?軟件:一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集......

    【黑馬程序員】Java基礎(chǔ)總結(jié)

    【黑馬程序員】Java基礎(chǔ)總結(jié) 黑馬程序員的javaEE課程主要分為2個(gè)部分:java基礎(chǔ)+java就業(yè)。今天就簡(jiǎn)單的給大家總結(jié)一下咱們java基礎(chǔ)的知識(shí)。 注:Java采用Unicode符號(hào)集,每個(gè)......

    Java編程語(yǔ)言基礎(chǔ)總結(jié)

    第一章初識(shí)Java 1.程序是為了讓計(jì)算機(jī)執(zhí)行某些操作或解決某個(gè)問(wèn)題而編寫(xiě)的一系列有序指令的集合。 2.Java包括編程語(yǔ)言和相關(guān)的技術(shù)。 3.Java主要用于開(kāi)發(fā),桌面應(yīng)用程序和Int......

    java基礎(chǔ)習(xí)題

    九、習(xí)題與實(shí)踐(1) 1、編寫(xiě)程序創(chuàng)建并顯示一個(gè)標(biāo)題為“My Frame”、背景為紅色的Frame。2、編寫(xiě)一個(gè)程序,其功能為:在窗口上擺放兩個(gè)標(biāo)簽。構(gòu)造第一個(gè)標(biāo)簽時(shí),令其上面的文本信息......

主站蜘蛛池模板: 狠狠色婷婷丁香综合久久韩国电影| 国产精品久久久久高潮| 在线亚洲精品国产一区麻豆| 末发育娇小性色xxxxx| 欧美老妇人与禽交| 99久久99久久精品国产片| 伊人久久五月丁香综合中文亚洲| 怡春院久久国语视频免费| 国产成人精选视频在线观看| 手机看片aⅴ永久免费无码| 亚洲国产精品无码久久久秋霞2| 人妻中文字幕无码系列| 久久99精品国产自在现线小黄鸭| 亚洲国产日产无码精品| 成人做爰100部片免费下载| 久久发布国产伦子伦精品| 又大又粗又长的高潮视频| 亚洲欧美日韩国产精品专区| 伊人久久精品一区二区三区| 国产精品美女www爽爽爽视频| 果冻国产精品麻豆成人av电影| 国产亚洲精品字幕在线观看| 国产又色又爽无遮挡免费动态图| 午夜精品国产精品大乳美女| 公粗挺进了我的密道在线播放贝壳| 欧美综合自拍亚洲综合图| 极品尤物一区二区三区| 国产精品 自在自线| 欧美激情一区二区久久久| 久久精品中文字幕有码| 18黑白丝水手服自慰喷水网站| 久久综合亚洲色hezyo国产| 日韩av片无码一区二区三区| 午夜精品久久久久9999高清| 一本精品99久久精品77| 亚洲最大日夜无码中文字幕| 免费国产黄线在线播放| 国产成人精选在线观看不卡| 亚洲人成网站在线播放942| 无码喷水一区二区浪潮av| 精品少妇无码av无码专区|