JAVA基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第1頁(yè)
JAVA基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第2頁(yè)
JAVA基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第3頁(yè)
JAVA基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第4頁(yè)
JAVA基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、JAVA 基礎(chǔ)知識(shí)點(diǎn)總結(jié)第1章Java 程序設(shè)計(jì)概述開(kāi)發(fā) Java 語(yǔ)言的公司?Sun (Sun Microsystems )太陽(yáng)微電子公司開(kāi)發(fā)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 以后新版本中稱(chēng)作: JavaSE JavaEE JavaMEJava語(yǔ)言的幾個(gè)主要特點(diǎn)?平臺(tái)無(wú)關(guān)性:能運(yùn)行于不同的平臺(tái)上 安全性:去掉了指針操作,內(nèi)存由操作系統(tǒng)分配 面向?qū)ο螅豪妙?lèi)使程序更加利于維護(hù) 分布式:可以

2、使用網(wǎng)絡(luò)文件和使用本機(jī)文件一樣容易 健壯性:檢查程序編譯和運(yùn)行的錯(cuò)誤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)境JDK 是什么?JDK(Java Development Kit)Java開(kāi)發(fā)工具包。包括了JRE,是開(kāi)發(fā) Java的人員必備的開(kāi)發(fā)運(yùn)行Java 程序的工具。JRE 是什么?JRE( Java Run time En vir onment ) Java運(yùn)行環(huán)境,運(yùn)行 JAVA 程序所必須的環(huán)境的集合,包含JVM標(biāo)準(zhǔn)實(shí)現(xiàn)及Java核心類(lèi)庫(kù)。J

3、VM 是什么?JVM (Java Virtual Machine) Java 虛擬機(jī),它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī),是通過(guò)在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的。安裝 JDK 的操作系統(tǒng)問(wèn)題?必須針對(duì)于不同的操作系統(tǒng)下載安裝不同的JDK,例如windows下安裝針對(duì)于 windows的JDK,linux 下安裝針對(duì)于 linux 的 JDK 。需要配置的相關(guān)環(huán)境變量?path:用于搜索外部命令,例如編譯程序的javac命令,執(zhí)行程序的java命令classpath:用于搜索類(lèi),即 class文件,例如可以在不同的位置執(zhí)行類(lèi)文件配置環(huán)境變量的方式?有兩種:臨時(shí)配置和持久配置 臨時(shí)配置:在命令

4、行下用 set 變量名 =變量值 ,僅在當(dāng)前命令行窗口有效 持久配置:在我的電腦屬性中配置,持久有效可以編寫(xiě)Java程序的常見(jiàn)開(kāi)發(fā)工具?記事本, EditPlus , ULTRAEDIT , Eclipse, Jbuilder, NetBeansJava文件的類(lèi)型?有兩種:擴(kuò)展名為java的文件:是Java源文件,屬于編譯之前的純文本文件,存儲(chǔ)java源代碼。擴(kuò)展名為class的文件:是Java類(lèi)文件,屬于編譯之后的二進(jìn)制文件,存儲(chǔ)字節(jié)碼。Java 的編譯運(yùn)行原理?首先編寫(xiě)java源文件,然后編譯成 class類(lèi)文件,然后通過(guò)虛擬機(jī)解釋成機(jī)器碼到硬件執(zhí)行。Java是編譯型語(yǔ)言還是解釋型的語(yǔ)言?

5、既不是完全編譯型,也不是完全解釋型,是半編譯半解釋的。第3章Java程序的基本結(jié)構(gòu)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等等。main方法是作什么用處的?這是程序的入口方法,是由虛擬機(jī)自動(dòng)調(diào)用的。語(yǔ)句必須用分號(hào)結(jié)束嗎?必須的,但是代碼塊可以用分號(hào)結(jié)束,也可以不用分號(hào)結(jié)束Java中有幾種注釋?zhuān)髯缘墓δ苡腥N:?jiǎn)涡凶⑨專(zhuān)杭釉谛惺字荒茏⑨屢恍卸嘈凶⑨?* */ :注釋多行,但不能嵌套使用文檔注釋/*/ :用于生成 HTML形式的文檔,需

6、要配合javadoc命令實(shí)現(xiàn)Java語(yǔ)言的數(shù)據(jù)類(lèi)型是強(qiáng)類(lèi)型還是弱類(lèi)型?是強(qiáng)類(lèi)型,意味著每一個(gè)變量都必須明確聲明數(shù)據(jù)類(lèi)型。Java語(yǔ)言中數(shù)據(jù)類(lèi)型的劃分?有什么區(qū)別?分成基本類(lèi)型和引用類(lèi)型兩大類(lèi)?;绢?lèi)型:有8種,只能存儲(chǔ)單一的值,不以對(duì)象的形式存在弓I用類(lèi)型:除了基本類(lèi)型之外其他的都是引用類(lèi)型,能夠存儲(chǔ)復(fù)雜數(shù)據(jù)類(lèi)型,以對(duì)象的形式存 在基本類(lèi)型都有哪 8種類(lèi)型?布爾類(lèi)型:boolean占1字節(jié)字符類(lèi)型:char占2字節(jié)整型:byte占1字節(jié) short占2字節(jié)int占4字節(jié)long 占8字節(jié) 浮點(diǎn)型:float占4字節(jié) double占8字節(jié)布爾值可不可以用0或者非0數(shù)代替?不可以,布爾值只能是tr

7、ue和false,不能使用數(shù)字,這和C語(yǔ)言是不一樣的。直接寫(xiě)個(gè)整數(shù)10默認(rèn)是什么類(lèi)型的?整型的直接量例如 10,100等默認(rèn)的數(shù)據(jù)類(lèi)型都是int型如何讓一個(gè)整型的直接量變成long型的?在直接量后面加大寫(xiě)L后者小寫(xiě)l,例如10L整型數(shù)據(jù)在程序中直接使用可以使用什么進(jìn)制?10進(jìn)制,8進(jìn)制,16進(jìn)制,但不能使用二進(jìn)制浮點(diǎn)運(yùn)算在Java中有沒(méi)有誤差?有誤差,所以精密運(yùn)算請(qǐng)使用BigDecimal類(lèi)直接寫(xiě)一個(gè)3.14的直接量是什么數(shù)據(jù)類(lèi)型的?是double型,如果想表示是 float的3.14必須寫(xiě)成3.14F或者3.14f,double型的3.14也可以寫(xiě)成3.14Dchar型采取的是什么類(lèi)型的字符

8、集?是Uni code全球統(tǒng)一編碼,支持任何世界上官方的語(yǔ)言中的字符常見(jiàn)的轉(zhuǎn)義字符有哪些?轉(zhuǎn)義序列名稱(chēng)b退格t制表n換行r回車(chē)雙引號(hào)單引號(hào)反斜杠常見(jiàn)的Uni code字符對(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 空字符是不是用(兩個(gè)并列的單引號(hào))來(lái)表示?不是,空字符用u0000 '來(lái)表示,兩個(gè)并列的單引號(hào)什么也不是。點(diǎn)分號(hào),花括號(hào)的各自的作用?點(diǎn)的作用有兩個(gè):一個(gè)是使用類(lèi)或?qū)ο笾械某蓡T,用對(duì)象.成員,再一個(gè)就是包名和子包名之間的分隔符,例如頂層包名.子包名分號(hào)的作用是表示語(yǔ)句結(jié)束花括號(hào)的作用是代表一個(gè)語(yǔ)句塊語(yǔ)句和關(guān)鍵字之間可以

9、有任意的空白嗎?可以的,例如 System. out.println(100);就是正確的語(yǔ)句,但是關(guān)鍵字本身不能加空白或換行標(biāo)識(shí)符是什么?標(biāo)識(shí)符就是指在程序中給包,類(lèi),接口,方法,變量起的名字 標(biāo)識(shí)符有什么起名規(guī)則?1. 應(yīng)以字母、下劃線(xiàn)、美元符開(kāi)頭2. 后跟字母、下劃線(xiàn)、美元符或數(shù)字3. 不能用關(guān)鍵字和保留字4. 嚴(yán)格區(qū)分大小寫(xiě)5. 名稱(chēng)長(zhǎng)度沒(méi)有限制中文的變量名可以嗎?是可以的,例如 int數(shù)字=10;這個(gè)語(yǔ)句是正確的。因?yàn)?java中采取Unicode字符集,所以任何 的Uni code中的字符都可以作為標(biāo)識(shí)符的名稱(chēng),但考慮字符集的支持問(wèn)題推薦還是使用英文字母 命名。關(guān)鍵字和保留字有區(qū)別

10、嗎?在1.5后沒(méi)有區(qū)別,都被稱(chēng)作關(guān)鍵字,但是1.5之前認(rèn)為關(guān)鍵字是在Java中有特殊用途的不允許編程人員擅自改作其他用途,而保留字是在Java中沒(méi)有特殊用途但不允許編程人員擅自改作其他用途,按此說(shuō)法 goto和const應(yīng)該是此意義上的保留字。true, false, null可以用作標(biāo)識(shí)符命名嗎?不可以,這3個(gè)雖然不是關(guān)鍵字,但都是有特殊用途的值,也不能作為標(biāo)識(shí)符命名 一條聲明語(yǔ)句可以聲明多個(gè)變量嗎?可以的,例如以下聲明都是正確的int i; int i,j;int i = 10,j;int i,j = 10;int i = 10,j = 20;變量在沒(méi)有賦值的情況下可以使用嗎?不可以,變量

11、沒(méi)有賦值使用會(huì)報(bào)岀變量未初始化的編譯錯(cuò)誤。常量有什么特點(diǎn)?在聲明變量的時(shí)候加上final修飾符即為常量,表示這個(gè)變量只能被賦一次值。算數(shù)運(yùn)算符有哪些?基本算數(shù)運(yùn)算符有+ - * / % + -單目運(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+和-放在前面和放在后面有什么區(qū)別?如果是在一個(gè)表達(dá)式中,那+放后面表示先運(yùn)算表達(dá)式

12、,然后再進(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é)果是10int i = 10;int j = + i ; /先進(jìn)行自增運(yùn)算然后再進(jìn)行賦值運(yùn)算j的結(jié)果是11-5 % 2等于幾,5 % -2等于幾?-5 % 2等于-1,5%-2等于1,運(yùn)算得到是正數(shù)還是負(fù)數(shù)取決于第一個(gè)操作數(shù)的符號(hào)5 / 2結(jié)果是不是 2.5 ?不是,是2,因?yàn)?和2都是int類(lèi)型,所以不可能得到double型的結(jié)果。比較運(yùn)算符有哪些?有><>=<=!=六項(xiàng)基本

13、比較運(yùn)算任何數(shù)據(jù)類(lèi)型都可以使用> < >= <=運(yùn)算符嗎?不是所有數(shù)據(jù)類(lèi)型,例如true>false這個(gè)表達(dá)式就是編譯錯(cuò)誤,布爾類(lèi)型和引用類(lèi)型的表達(dá)式只能用=和!=兩個(gè)比較運(yùn)算,例如 ”bc" <= ”yz ”這個(gè)表達(dá)式也是編譯錯(cuò)誤的 ''> ''這個(gè)表達(dá)式編譯正確嗎?編譯正確,''和''是字符類(lèi)型,內(nèi)部用 Uni code編碼表示的話(huà) a是97,b是98,所以實(shí)際上比 較的是97>98,結(jié)果為false邏輯運(yùn)算符有哪些?有&邏輯與,|邏輯或,!邏輯非,人異或,&a

14、mp;&短路與,|短路或 邏輯與,邏輯或和短路與,短路或有什么區(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以此類(lèi)推,邏輯或和短路或的區(qū)別是:如果是邏輯或不管第一個(gè)表達(dá)式是 true還是f

15、alse,都會(huì)執(zhí)行第二個(gè)表達(dá)式 如果是短路或如果第一個(gè)表達(dá)式為 true,將不會(huì)執(zhí)行第二個(gè)表達(dá)式與或非三個(gè)邏輯運(yùn)算符的優(yōu)先級(jí)是怎么排列的?“非”優(yōu)先級(jí)最高,“與”其次,“或”優(yōu)先級(jí)最低原碼,反碼,補(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的反碼是補(bǔ)碼:正數(shù)的補(bǔ)碼和原碼相同,負(fù)數(shù)的補(bǔ)碼將反碼加1例如:12的補(bǔ)碼是 00001100最后強(qiáng)調(diào)一點(diǎn),計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)用補(bǔ)碼形式來(lái)存儲(chǔ)。位運(yùn)算符

16、都有哪些?&與|或人異或非 >> 右移 << 左移 >>> 無(wú)符號(hào)右移1<<35怎么理解?1是int類(lèi)型是32位,所以需要把 35%32=3,所以事實(shí)上是和執(zhí)行1<<3等價(jià)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換需要遵循什么原則?小類(lèi)型向大類(lèi)型轉(zhuǎn)換,是自動(dòng)轉(zhuǎn)換的,或者說(shuō)隱式轉(zhuǎn)換的大類(lèi)型向小類(lèi)型轉(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)換byte b = 10這個(gè)語(yǔ)句是正確的,為什么 10是int型比byte大還不需要強(qiáng)制轉(zhuǎn)換呢?因?yàn)樵趈ava中做了特殊處理,

17、其中規(guī)定byte,short,char類(lèi)型可以直接賦予 int類(lèi)型的直接量,例如:byte b = 10;short s = 10;char c = 10;以上賦值語(yǔ)句都是正確的。但是不能超出超出類(lèi)型的范圍,例如以下賦值就是錯(cuò)誤的:byte b = 128;如果超出范圍,必須得作強(qiáng)制轉(zhuǎn)換,例如以下語(yǔ)句是正確的:byte b = (byte) 128;需要強(qiáng)調(diào)的是,必須是int類(lèi)型的直接量,以下語(yǔ)句就是錯(cuò)誤的:byte b = 10L;10L不是int類(lèi)型的直接量。byte b = (byte) 300;強(qiáng)制轉(zhuǎn)換后的結(jié)果是44,是按照什么規(guī)律得岀來(lái)的?是先把300轉(zhuǎn)換成二進(jìn)制,然后根據(jù)byte類(lèi)

18、型的大小截取了后8個(gè)位300 的補(bǔ)碼是 00000000 00000000 00000001 00101100b 的結(jié)果是:00000000 00000000 00000001 00101100 結(jié)果為 44byte b = (byte) true;這個(gè)轉(zhuǎn)換成立嗎?不成立,布爾值和數(shù)字是不兼容的,不能作任何轉(zhuǎn)換。int i = (int) 100”;這個(gè)轉(zhuǎn)換成立嗎?不成立,引用類(lèi)型和基本類(lèi)型是不能直接強(qiáng)制轉(zhuǎn)換的,需要用包裝類(lèi)的方法來(lái)轉(zhuǎn)換。char型和short型哪個(gè)比較大?不能說(shuō)哪個(gè)大,哪個(gè)小,這兩個(gè)類(lèi)型char的取值是從065535,而short類(lèi)型的取值是 -3276832767 ,這個(gè)兩

19、個(gè)類(lèi)型之間的轉(zhuǎn)換都需要強(qiáng)制轉(zhuǎn)換。字符串是不是基本類(lèi)型?不是, String 是 java.lang 包中的一個(gè)類(lèi),是引用類(lèi)型的, 8 種基本類(lèi)型中沒(méi)有一個(gè)是 String 類(lèi) 型??兆址檬裁磥?lái)表示? 用”(兩個(gè)并列的雙引號(hào))表示,代表 0 個(gè)長(zhǎng)度的字符串對(duì)象。String s = “;”和 String s = null; 有什么區(qū)別?第一個(gè)表示s被賦值,指向了一個(gè)字符串對(duì)象,第二個(gè)表示s沒(méi)有指向任何對(duì)象實(shí)例,是真空兩個(gè)字符串用什么運(yùn)算符可以連成一個(gè)字符串?用+運(yùn)算符,例如"abc" + xyz"最后的結(jié)果就是"abcxyz ”數(shù)學(xué)運(yùn)算符加法和字符串

20、連接符都是 + ,怎么區(qū)分? 是通過(guò)運(yùn)算符兩邊的操作數(shù)來(lái)判斷的,如果兩邊的操作數(shù)都是數(shù)字型的基本類(lèi)型,則進(jìn)行數(shù)學(xué) 運(yùn)算,如果兩邊的操作數(shù)有一個(gè)是字符串,則把另一個(gè)操作數(shù)也轉(zhuǎn)換為則進(jìn)行字符串連接運(yùn) 算。例如:5 + 4 的結(jié)果是 9“5" + 4 的結(jié)果是 54判斷字符串內(nèi)容相同用什么方法?用 equals 方法判斷內(nèi)容相同, =只能判斷引用是否相同提供用戶(hù)輸入使用哪個(gè)類(lèi)使用 javav.util.Scanner 類(lèi)if 語(yǔ)句可以用 if(-1) 形式判斷嗎?不可以,數(shù)字不能代替布爾值if 語(yǔ)句和循環(huán)語(yǔ)句的花括號(hào)什么時(shí)候可以省略?當(dāng)執(zhí)行的語(yǔ)句只有一句的時(shí)候switch 語(yǔ)句有哪些規(guī)則?

21、表達(dá)式 expr 的返回值必須是下述幾種類(lèi)型之一: int, byte, char, short 或枚舉常量;case子句中的值必須是常量,且所有case子句中的值應(yīng)是不同的,也必須是下述幾種類(lèi)型之一:int, byte, char, short 或枚舉常量default 子句是任選的;break語(yǔ)句用來(lái)在執(zhí)行完一個(gè)case分支后使程序跳岀switch語(yǔ)句塊;對(duì)于退出循環(huán) break 和 continue 有什么區(qū)別?break 是退岀整個(gè)循環(huán)continue 是退岀當(dāng)前循環(huán)繼續(xù)下一次循環(huán)聲明數(shù)組創(chuàng)建數(shù)組的方法?以下聲明都是合法的:int a;int a;String a;以下創(chuàng)建數(shù)組對(duì)象都是

22、合法的:int a = new int3;int a = 1,2,3;int a = new int 1,2,3;int x 和 String s 這兩個(gè)數(shù)組對(duì)象,哪個(gè)是基本類(lèi)型,哪個(gè)是引用類(lèi)型? 兩個(gè)都是數(shù)組對(duì)象,都是引用類(lèi)型的數(shù)組元素下標(biāo)最小是多少,最大是多少,超出范圍會(huì)怎么樣?最小是 0 ,最大是數(shù)組元素個(gè)數(shù)減一,超出范圍將會(huì)出現(xiàn)下標(biāo)越界異常得到數(shù)組長(zhǎng)度用 length 屬性還是 length ()方法?是 length 屬性,得到字符串長(zhǎng)度才有 length 方法聲明int a = new int3 , a是一個(gè)二維數(shù)組,a0本身是什么類(lèi)型的? 二維數(shù)組的元素都是一維數(shù)組, a0 是

23、int 類(lèi)型的數(shù)組的大小一經(jīng)創(chuàng)建可不可以改變大小了? 不可以,數(shù)組是定長(zhǎng)的,一經(jīng)創(chuàng)建就不能再改變大小了可以把2個(gè)int型,3個(gè)double型,4個(gè)String型的值放到一個(gè)數(shù)組中嗎? 不可以,數(shù)組的元素類(lèi)型必須是相同類(lèi)型的。java 中的多維數(shù)組必須是要形成矩陣排列嗎? 不一定,也可以是不規(guī)則的。操作數(shù)組比較方便的實(shí)用類(lèi)?第 4章 對(duì)象和類(lèi)OOP 是什么意思?Object Oriented Programming(面向?qū)ο缶幊?)類(lèi)和對(duì)象的區(qū)別?類(lèi):對(duì)象的藍(lán)圖,生成對(duì)象的模板,是對(duì)一類(lèi)事物的描述,是抽象的概念上的定義 對(duì)象:對(duì)象是實(shí)際存在的該類(lèi)事物的每個(gè)個(gè)體,因而也稱(chēng)為實(shí)例類(lèi)之間的 3 種關(guān)系

24、?依賴(lài)關(guān)系( uses-a)聚集關(guān)系( has-a) 繼承關(guān)系( is-a)一個(gè) java 源文件可以寫(xiě)多個(gè)類(lèi)嗎? 可以,但必須只能有一個(gè)公有類(lèi),并且文件名和公有類(lèi)的類(lèi)名相同。類(lèi)中有哪些成員? 有屬性(數(shù)據(jù)域),方法,構(gòu)造器(構(gòu)造方法)構(gòu)造方法和普通方法的區(qū)別? 構(gòu)造方法沒(méi)有返回值,方法名必須和類(lèi)名相同,需要用new 語(yǔ)句調(diào)用構(gòu)造方法。普通方法可不可以也類(lèi)名作為方法名? 是可以的,因?yàn)檎{(diào)用普通方法的語(yǔ)法和調(diào)用構(gòu)造器的語(yǔ)法不一樣。一個(gè)構(gòu)造器調(diào)用另外一個(gè)構(gòu)造器需要用什么語(yǔ)法?用this ()語(yǔ)法調(diào)用另外一個(gè)重載構(gòu)造器,需要注意的是調(diào)用語(yǔ)句必須是構(gòu)造器中的第一句什么時(shí)候虛擬機(jī)會(huì)自動(dòng)添加一個(gè)默認(rèn)構(gòu)造器

25、? 當(dāng)類(lèi)中沒(méi)有顯式定義任何構(gòu)造器的時(shí)候,虛擬機(jī)會(huì)自動(dòng)添加一個(gè)無(wú)參的構(gòu)造器 實(shí)例成員和靜態(tài)成員的區(qū)別?實(shí)例成員:是屬于對(duì)象實(shí)例的,用對(duì)象.成員名稱(chēng)語(yǔ)法調(diào)用靜態(tài)成員:和對(duì)象實(shí)例無(wú)關(guān),是屬于類(lèi)本身的,用類(lèi)名.成員名稱(chēng)語(yǔ)法調(diào)用靜態(tài)初始化塊 statci 的執(zhí)行時(shí)機(jī)是什么時(shí)候?在類(lèi)被加載的時(shí)候,僅執(zhí)行一次。靜態(tài)方法可不可以直接調(diào)用同一個(gè)類(lèi)中的非靜態(tài)方法? 不可以,靜態(tài)方法不能直接調(diào)用一個(gè)非靜態(tài)成員,需要用對(duì)象調(diào)用。包是什么?包實(shí)際上就是物理上的文件夾,可以把類(lèi)放到不同的包中。把一個(gè)類(lèi)放到包中,需要在類(lèi)中加上什么語(yǔ)句?需要加上包聲明package語(yǔ)句,必須寫(xiě)在源文件的第一句。什么時(shí)候需要導(dǎo)入類(lèi)?用什么語(yǔ)句

26、?當(dāng)使用的類(lèi)和當(dāng)前類(lèi)并不在同一個(gè)包中的時(shí)候,用import語(yǔ)句導(dǎo)入默認(rèn)包中的類(lèi)可以導(dǎo)入嗎?不可以,不在默認(rèn)包中的類(lèi)無(wú)法使用默認(rèn)包中的類(lèi)。java中哪個(gè)包中的類(lèi)是自動(dòng)導(dǎo)入的?java .lang 包什么叫做完整類(lèi)名?頂層包名.子包名.類(lèi)名靜態(tài)導(dǎo)入語(yǔ)句有什么作用?在使用類(lèi)中的靜態(tài)成員的時(shí)候前面不需要加類(lèi)名前綴。局部變量和全局變量的區(qū)別?區(qū)別局部變量全局變量聲明位置方法或塊內(nèi)部方法外類(lèi)內(nèi)部訪(fǎng)問(wèn)權(quán)限修飾符沒(méi)有訪(fǎng)問(wèn)權(quán)限有訪(fǎng)問(wèn)權(quán)限默認(rèn)值沒(méi)有默認(rèn)值有默認(rèn)值使用形式直接使用對(duì)象調(diào)用作用域在方法或語(yǔ)句塊內(nèi)部整個(gè)類(lèi)生命周期進(jìn)入方法或語(yǔ)句塊創(chuàng)建退岀方法或語(yǔ)句塊銷(xiāo)毀隨著對(duì)象的創(chuàng)建而創(chuàng)建隨著對(duì)象的銷(xiāo)毀而銷(xiāo)毀賦值語(yǔ)句賦給

27、目標(biāo)的是值還是引用?如果是基本類(lèi)型則賦的是值本身,弓I用類(lèi)型則賦的是引用地址第5章繼承和多態(tài)類(lèi)的繼承是誰(shuí)繼承誰(shuí)?是子類(lèi)繼承了父類(lèi),子類(lèi)也稱(chēng)為派生類(lèi),父類(lèi)也稱(chēng)為超類(lèi)或基類(lèi)子類(lèi)繼承了父類(lèi)的什么東西?子類(lèi)可以繼承父類(lèi)的數(shù)據(jù)域(屬性),方法,但構(gòu)造器不能繼承私有成員能被子類(lèi)繼承嗎?能繼承,但是由于訪(fǎng)問(wèn)權(quán)限的控制,在子類(lèi)中不能直接使用父類(lèi)的私有成員Object是什么類(lèi)?這個(gè)所有類(lèi)的根類(lèi),任何類(lèi)如果沒(méi)有寫(xiě)顯式的繼承語(yǔ)句,默認(rèn)都是直接繼承Object類(lèi)的java中是單繼承還是多繼承?是單繼承,一個(gè)子類(lèi)只能有一個(gè)父類(lèi)訪(fǎng)問(wèn)權(quán)限修飾符有幾種,訪(fǎng)問(wèn)的范圍又是多大?有四種:private :私用只能在被類(lèi)中被訪(fǎng)問(wèn)de

28、fault :默認(rèn)只能被同一個(gè)包中的類(lèi)訪(fǎng)問(wèn)protected :受保護(hù)的 只能被同一個(gè)包中的類(lèi)和不同包中的子類(lèi)訪(fǎng)問(wèn)public :公有可以被任何類(lèi)訪(fǎng)問(wèn)覆蓋方法的規(guī)則有哪些?子類(lèi)覆蓋方法和父類(lèi)被覆蓋方法的方法返回類(lèi)型,方法名稱(chēng),參數(shù)列表必須相同子類(lèi)覆蓋方法的訪(fǎng)問(wèn)權(quán)限必須大于等于父類(lèi)的方法的訪(fǎng)問(wèn)權(quán)限方法覆蓋只能存在于子類(lèi)和父類(lèi)之間 子類(lèi)覆蓋方法不能比父類(lèi)被覆蓋方法拋出更多異常 參數(shù)列表是否相同從哪幾方面看?從三方面看:參數(shù)個(gè)數(shù),類(lèi)型和順序,需要注意的是參數(shù)的名字不相同是無(wú)所謂的 覆蓋方法的規(guī)則有哪些?方法名相同 方法的參數(shù)類(lèi)型 ,個(gè)數(shù) ,順序至少有一項(xiàng)不同 方法的返回類(lèi)型和修飾符均不受限制可變長(zhǎng)參

29、數(shù)的聲明格式是什么?實(shí)際上是什么類(lèi)型的?類(lèi)型 變量,實(shí)際上是一個(gè)一維數(shù)組this 和 super 是作什么用處的?this:本身代表當(dāng)前的對(duì)象引用,可以用this.成員名稱(chēng)調(diào)用當(dāng)前對(duì)象的屬性和方法,如果屬性和局部變量重名,可以用this.屬性名和局部變量區(qū)分開(kāi)。也可以用this ()語(yǔ)法調(diào)用本類(lèi)重載構(gòu)造器。super :本事是一個(gè)特殊關(guān)鍵字,可以用super .成員名稱(chēng)調(diào)用從父類(lèi)繼承的屬性和方法,也可以用super ()語(yǔ)法調(diào)用父類(lèi)構(gòu)造器。super 代表子類(lèi)中的父類(lèi)對(duì)象引用嗎?不,這個(gè)錯(cuò)誤的說(shuō)法,super不代表任何對(duì)象引用,僅僅是一個(gè)關(guān)鍵字什么時(shí)候子類(lèi)構(gòu)造器會(huì)自動(dòng)調(diào)用父類(lèi)無(wú)參構(gòu)造器?當(dāng)子類(lèi)

30、構(gòu)造器中沒(méi)有任何顯式構(gòu)造器調(diào)用的時(shí)候,即既沒(méi)有this ()調(diào)用也沒(méi)有super ()調(diào)用的時(shí)候一個(gè)父類(lèi)類(lèi)型的引用變量可以引用一個(gè)子類(lèi)的實(shí)例嗎?可以,這個(gè)引用變量是一個(gè)多態(tài)對(duì)象多態(tài)對(duì)象有什么特點(diǎn)? 多態(tài)對(duì)象只能使用父類(lèi)的成員,但如果多態(tài)對(duì)象使用了被子類(lèi)覆蓋的方法,則會(huì)動(dòng)態(tài)綁定使用 子類(lèi)的成員,稱(chēng)為虛擬方法調(diào)用引用類(lèi)型之間的類(lèi)型轉(zhuǎn)換需要遵循哪些規(guī)則?自動(dòng)轉(zhuǎn)換:從子類(lèi)到父類(lèi)的類(lèi)型可以自動(dòng)轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換:從父類(lèi)到子類(lèi)的類(lèi)型要強(qiáng)制轉(zhuǎn)換 無(wú)繼承關(guān)系的類(lèi)型轉(zhuǎn)換是非法的instanceof 操作符是作什么用處的? 可以判斷一個(gè)對(duì)象的類(lèi)型是否是某一個(gè)類(lèi)的類(lèi)型或子類(lèi),也可以判斷這個(gè)對(duì)象的類(lèi)型是否是一 個(gè)接口的實(shí)現(xiàn)

31、類(lèi)toString 方法什么時(shí)候會(huì)自動(dòng)被調(diào)用?在打印語(yǔ)句中傳入引用類(lèi)型的對(duì)象或者對(duì)象和字符串作連接時(shí)默認(rèn)的 equals 方法實(shí)現(xiàn)的是比較內(nèi)容還是比較引用地址?在 Object 中是比較引用地址。覆蓋 equals 方法和 hashCode 方法有什么規(guī)則?必須保證當(dāng)兩個(gè)對(duì)象 equals 比較為 true 的時(shí)候,返回的 hashCode 相同,當(dāng)比較為 false 的時(shí)候, 返回的 hashCode 不同java 中有幾個(gè)包裝類(lèi)?有 8 個(gè)包裝類(lèi),正好對(duì)應(yīng) 8 種基本數(shù)據(jù)類(lèi)型。分別是: Boolean Byte Short Integer Long Character Float Doub

32、le裝箱和拆箱分別是什么意思?裝箱指的是把基本類(lèi)型包裝成包裝類(lèi)的引用類(lèi)型拆箱指的是把包裝類(lèi)形式的引用類(lèi)型轉(zhuǎn)換為基本類(lèi)型 例如:Integer objInt = new Integer(10);/ 裝箱 int i = objIValue();/ 拆箱JDK1.4 和 1.5 的裝箱和拆箱有什么區(qū)別 ?自動(dòng)拆裝箱,例如: Integer intObj = 10;/ 自動(dòng)裝箱 int i = intObj + 5;/ 自動(dòng)拆箱 final 修飾符如何使用,使用了 final 修飾符有什么特點(diǎn)? final 修飾符可以修飾類(lèi),方法,變量 final 類(lèi)為最終類(lèi),不能被子類(lèi)繼承 final

33、 方法為最終方法,不能被子類(lèi)覆蓋 final 變量為常量,只能賦一次值 abstract 修飾符如何使用,使用了 abstract 修飾符有什么特點(diǎn)? abstract 修飾符可以修飾類(lèi)和方法 abstract 類(lèi)為抽象類(lèi),是不能創(chuàng)建對(duì)象的 abstract 方法為抽象方法,只有方法的聲明,沒(méi)有具體的實(shí)現(xiàn) 需要注意的是: 有抽象方法的類(lèi)一定是抽象類(lèi) 抽象類(lèi)不一定有抽象方法 抽象類(lèi)也有構(gòu)造器,但不能創(chuàng)建對(duì)象實(shí)例 abstract 不能和哪些修飾符配合使用? 不能和 private , static , final 一起使用 可以在非抽象方法中調(diào)用抽象方法嗎? 可以,模板方法設(shè)計(jì)模式就是典型的這種

34、調(diào)用 第 6章 泛型程序設(shè)計(jì) 泛型的特點(diǎn)是什么?主要特點(diǎn)是類(lèi)型參數(shù)化,后期綁定數(shù)據(jù)類(lèi)型 泛型支持基本類(lèi)型嗎?不支持,只支持引用類(lèi)型 如果沒(méi)有傳入類(lèi)型參數(shù),默認(rèn)是什么類(lèi)型? 默認(rèn)是 Object 類(lèi)型泛型方法有什么特點(diǎn)? 將泛型參數(shù)聲明在方法中,調(diào)用方法的時(shí)候綁定泛型 泛型類(lèi)聲明泛型參數(shù)的時(shí)候, <T extends A 類(lèi)型 >表示什么意思? 表示綁定的類(lèi)型必須是 A 類(lèi)型后者是 A 類(lèi)型的子類(lèi)或?qū)崿F(xiàn)類(lèi) 第 7章 接口和內(nèi)部類(lèi) 聲明一個(gè)接口的關(guān)鍵字是什么? interface 關(guān)鍵字接口中的成員有什么特點(diǎn)?數(shù)據(jù)域必須是( public static final 修飾)公有靜態(tài)常量

35、方法必須是( public abstract 修飾)公有抽象 沒(méi)有構(gòu)造方法接口能創(chuàng)建對(duì)象實(shí)例嗎? 不能,接口沒(méi)有構(gòu)造器,不能創(chuàng)建對(duì)象接口和類(lèi)的關(guān)系? 接口和類(lèi)之間是實(shí)現(xiàn)關(guān)系,一個(gè)類(lèi)用 implements 語(yǔ)句實(shí)現(xiàn)了某接口,這個(gè)類(lèi)被稱(chēng)為接口的實(shí)現(xiàn) 類(lèi),一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口,一個(gè)類(lèi)實(shí)現(xiàn)了某接口,必須覆蓋這個(gè)接口中的所以方法,否則 這個(gè)類(lèi)必須是個(gè)抽象類(lèi)接口和接口的關(guān)系? 接口和接口之間是繼承關(guān)系,一個(gè)接口用 extends 繼承另外一個(gè)接口,稱(chēng)為這個(gè)接口的子接口。 一個(gè)接口可以繼承多個(gè)父接口內(nèi)部類(lèi)如何定義? 一個(gè)類(lèi)聲明在另一個(gè)類(lèi)的里面,這個(gè)類(lèi)就被稱(chēng)為內(nèi)部類(lèi),而外面的類(lèi)被稱(chēng)為外部類(lèi) 內(nèi)部類(lèi)可以分成

36、幾種? 實(shí)例內(nèi)部類(lèi):聲明在方法外邊沒(méi)有 static 修飾符 靜態(tài)內(nèi)部類(lèi):聲明在方法外邊有 static 修飾符 局部?jī)?nèi)部類(lèi):聲明在方法里邊如何創(chuàng)建實(shí)例內(nèi)部類(lèi)的對(duì)象實(shí)例? 需要用外部類(lèi)的對(duì)象來(lái)創(chuàng)建 例如: class A class B 如果像創(chuàng)建 B 類(lèi)的實(shí)例,則必須用以下語(yǔ)句:A a = new A();A.B b = a. new B();如何在實(shí)例內(nèi)部類(lèi)中訪(fǎng)問(wèn)外部類(lèi)的成員? 在實(shí)例內(nèi)部類(lèi)中可以直接使用外部類(lèi)的成員,不需要?jiǎng)?chuàng)建外部類(lèi)的對(duì)象實(shí)例,但是如果在內(nèi)部 類(lèi)中的成員名稱(chēng)屏蔽隱藏了外部類(lèi)的成員 (即外部類(lèi)和內(nèi)部類(lèi)的成員名相同) ,則需要用“外部 類(lèi)名.this.成員名"訪(fǎng)問(wèn)外

37、部類(lèi)成員第 8章異常處理異常的對(duì)象的根類(lèi)是哪個(gè)類(lèi)? 是 Throwable 類(lèi)Throwable 類(lèi)有哪兩個(gè)分支?分成 Error 類(lèi)和 Excepion 類(lèi)兩個(gè)分支Error 類(lèi)表示嚴(yán)重錯(cuò)誤Exception 類(lèi)表示可以在程序中處理的錯(cuò)誤Exception 類(lèi)有哪兩個(gè)分支? 分成運(yùn)行時(shí)異常和非運(yùn)行時(shí)異常(已檢查異常) 運(yùn)行時(shí)異常編譯不檢查,在運(yùn)行時(shí)才會(huì)發(fā)生異常 已檢查異常編譯時(shí)就會(huì)作檢查,不處理異常則通不過(guò)編譯如果在 try 塊中發(fā)生異常,那么程序?qū)?huì)跳轉(zhuǎn)到哪? 會(huì)跳轉(zhuǎn)到 catch 語(yǔ)句塊catch 語(yǔ)句可以用父類(lèi)類(lèi)型捕獲子類(lèi)異常嗎? 因?yàn)橛卸鄳B(tài)特點(diǎn),是可以的 處理異常代碼 finally

38、 語(yǔ)句會(huì)在什么時(shí)候執(zhí)行? finally 代碼在任何時(shí)候都會(huì)執(zhí)行,不管有沒(méi)有發(fā)生異常。如何聲明已檢查異常,由誰(shuí)來(lái)處理這個(gè)異常?用 throws 語(yǔ)句來(lái)聲明一個(gè)已檢查異常,由方法的調(diào)用者來(lái)處理這個(gè)異常 如何拋出一個(gè)異常?用 throw 語(yǔ)句拋出 如何創(chuàng)建一個(gè)自定義的異常類(lèi)?創(chuàng)建一個(gè)類(lèi),只要讓它繼承任何一個(gè)現(xiàn)有的異常類(lèi)就可以了 覆蓋方法對(duì)于異常有什么要求?覆蓋方法不能比父類(lèi)方法拋出更多異常第 9章反射,代理,標(biāo)注獲得一個(gè)類(lèi)型的 Class 對(duì)象有哪幾種途徑?方法 1:對(duì)象 .getClass()方法 2:類(lèi)型名 .class方法 3: Class.forName() 反射相關(guān)的類(lèi)型都有哪些?Cla

39、ss 代表一個(gè)運(yùn)行時(shí)類(lèi)Field 代表一個(gè)類(lèi)的屬性Method 代表一個(gè)類(lèi)的方法Constructor 代筆一個(gè)類(lèi)的構(gòu)造器 如何聲明一個(gè)自定義標(biāo)注?< 修飾符 > interface < 標(biāo)注名 > 返回值方法名稱(chēng)(); 返回值方法名稱(chēng)();例如:public interface MyComment int id();String info();java 有幾個(gè)內(nèi)置標(biāo)注?有3個(gè)Override 用于修飾此方法覆蓋了父類(lèi)的方法,而非重載。 Deprecated用于修飾已經(jīng)過(guò)時(shí)的方法。SuppressWarni ngs用于通知 Java編譯器禁止特定的警告第 10章java 常用類(lèi)字符串 Str

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論