毛片在线视频观看,一级日韩免费大片,在线网站黄色,澳门在线高清一级毛片

薈聚奇文、博采眾長(zhǎng)、見賢思齊
當(dāng)前位置:公文素材庫 > 計(jì)劃總結(jié) > 工作總結(jié) > java相關(guān)知識(shí)點(diǎn)總結(jié) 經(jīng) 典

java相關(guān)知識(shí)點(diǎn)總結(jié) 經(jīng) 典

網(wǎng)站:公文素材庫 | 時(shí)間:2019-05-28 03:19:12 | 移動(dòng)端:java相關(guān)知識(shí)點(diǎn)總結(jié) 經(jīng) 典

java相關(guān)知識(shí)點(diǎn)總結(jié) 經(jīng) 典

補(bǔ)充的知識(shí)點(diǎn):1、tomcat管理員設(shè)置:

在tomcat下的conf目錄中的tomcat-user.xml文件中可以配置tomcat的用戶角色

2、目前知道的編碼問題

ServletRequest和ServletResponse的setCharacterEncoding()方法ServletResponse的setContentType("text/html;charset=utf-8");

等同于Jsp中page指令中的contentType屬性,例如contentType="..."同時(shí)它設(shè)置的編碼方式等同于response.setCharacterEncoding(...)

Html中的類似Jsp中的page指令中的pageEncoding屬性,例如:pageEncoding="utf-8"

當(dāng)通過Servlet向mySql中添加數(shù)據(jù),如果添加中文,數(shù)據(jù)庫中發(fā)現(xiàn)是亂碼,如何解決?(每日一面習(xí)題)

3、為什么調(diào)用GenericServlet的init()方法時(shí)候會(huì)默認(rèn)調(diào)用有參的init()方法?

(每日一面習(xí)題)

4、web.xml中加配置全局參數(shù),這些參數(shù)可以讓所有的Serlvet都能讀到,有如下兩種方式:

(1)配置Context容器的初始化參數(shù)

email

webmaster@tarena.com.cn

通過ServletContext的getInitParameter();獲得參數(shù)值(2)配置JNDINaming的初始化參數(shù)

email

java.lang.String

webmaster@tarena.com.cn

通過下面方式獲得參數(shù)值:Contextctx=newInitialContext();

Stringemail=(String)ctx.lookup("java:comp/env/email");

注意:標(biāo)簽、都和標(biāo)簽平級(jí),前面介紹過可以配置局部參數(shù)的方式是在標(biāo)簽中加上子標(biāo)簽5、

appendFilter/append

requestincludeforward

過濾器不僅可以對(duì)用戶提交的請(qǐng)求過濾,也可以過濾forward和include,但默認(rèn)是過濾request。

5、MyEclipse開發(fā)Web項(xiàng)目

6、ExceptionInInitializerError是專門為靜態(tài)初始化塊提供的RuntimeException

擴(kuò)展閱讀:JAVA基礎(chǔ)知識(shí)點(diǎn)總結(jié)

JAVA基礎(chǔ)知識(shí)點(diǎn)總結(jié)第1章Java程序設(shè)計(jì)概述

1)開發(fā)Java語言的公司?

Sun(SunMicrosystems)太陽微電子公司開發(fā)

2)Java的3個(gè)版本?

J2SE(Java2StandardEdition)標(biāo)準(zhǔn)版

J2EE(Java2Platform,EnterpriseEdition)企業(yè)版J2ME(Java2MicroEdition)微小版

在5.0以后新版本中稱作:JavaSEJavaEEJavaME

3)Java語言的幾個(gè)主要特點(diǎn)?

平臺(tái)無關(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語言的開發(fā)環(huán)境

1)JDK是什么?

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

2)JRE是什么?

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

3)JVM是什么?

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

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

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

5)需要配置的相關(guān)環(huán)境變量?

6)

7)8)9)

10)

path:用于搜索外部命令,例如編譯程序的javac命令,執(zhí)行程序的java命令classpath:用于搜索類,即class文件,例如可以在不同的位置執(zhí)行類文件

配置環(huán)境變量的方式?

有兩種:臨時(shí)配置和持久配置

臨時(shí)配置:在命令行下用set變量名=變量值,僅在當(dāng)前命令行窗口有效持久配置:在我的電腦屬性中配置,持久有效

可以編寫Java程序的常見開發(fā)工具?

記事本,EditPlus,ULTRAEDIT,Eclipse,Jbuilder,NetBeans

Java文件的類型?有兩種:

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

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

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

Java是編譯型語言還是解釋型的語言?

既不是完全編譯型,也不是完全解釋型,是半編譯半解釋的。

第3章Java程序的基本結(jié)構(gòu)

1)Java語言區(qū)分大小寫嗎?

區(qū)分,不管是數(shù)據(jù)還是標(biāo)識(shí)符或者關(guān)鍵字都區(qū)分大小寫,例如public不能寫成Public,“abc”不能寫成“ABC”,inti不能寫成INTI等等。

2)main方法是作什么用處的?

這是程序的入口方法,是由虛擬機(jī)自動(dòng)調(diào)用的。

3)語句必須用分號(hào)結(jié)束嗎?

必須的,但是代碼塊{}可以用分號(hào)結(jié)束,也可以不用分號(hào)結(jié)束

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

有三種:

單行注釋//:加在行首只能注釋一行

多行注釋/**/:注釋多行,但不能嵌套使用

文檔注釋/***/:用于生成HTML形式的文檔,需要配合javadoc命令實(shí)現(xiàn)

5)Java語言的數(shù)據(jù)類型是強(qiáng)類型還是弱類型?

是強(qiáng)類型,意味著每一個(gè)變量都必須明確聲明數(shù)據(jù)類型。

6)Java語言中數(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語言是不一樣的。

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

整型的直接量例如10,100等默認(rèn)的數(shù)據(jù)類型都是int型

10)如何讓一個(gè)整型的直接量變成long型的?

在直接量后面加大寫L后者小寫l,例如10L

11)整型數(shù)據(jù)在程序中直接使用可以使用什么進(jìn)制?

10進(jìn)制,8進(jìn)制,16進(jìn)制,但不能使用二進(jìn)制

12)浮點(diǎn)運(yùn)算在Java中有沒有誤差?

有誤差,所以精密運(yùn)算請(qǐng)使用BigDecimal類

13)直接寫一個(gè)3.14的直接量是什么數(shù)據(jù)類型的?

是double型,如果想表示是float的3.14必須寫成3.14F或者3.14f,double型的3.14也可以寫成3.14D

14)char型采取的是什么類型的字符集?

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

15)常見的轉(zhuǎn)義字符有哪些?轉(zhuǎn)義序列\(zhòng)\b\\t\\n\\r\\”\\’\\\\退格制表換行回車雙引號(hào)單引號(hào)反斜杠名稱16)常見的Unicode字符對(duì)應(yīng)的編碼?

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

17)空字符是不是用’’(兩個(gè)并列的單引號(hào))來表示?

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

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

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

19)語句和關(guān)鍵字之間可以有任意的空白嗎?

可以的,例如System.out.println(100);就是正確的語句,但是關(guān)鍵字本身不能加空白或換行

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

標(biāo)識(shí)符就是指在程序中給包,類,接口,方法,變量起的名字

21)標(biāo)識(shí)符有什么起名規(guī)則?

1.應(yīng)以字母、下劃線、美元符開頭2.后跟字母、下劃線、美元符或數(shù)字3.不能用關(guān)鍵字和保留字4.嚴(yán)格區(qū)分大小寫5.名稱長(zhǎng)度沒有限制

22)中文的變量名可以嗎?

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

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

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

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

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

25)一條聲明語句可以聲明多個(gè)變量嗎?

可以的,例如以下聲明都是正確的5

inti;inti,j;inti=10,j;inti,j=10;inti=10,j=20;26)變量在沒有賦值的情況下可以使用嗎?

不可以,變量沒有賦值使用會(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á)式。--同樣道理。例如:

inti=10;

intj=i++;//先進(jìn)行賦值運(yùn)算然后再進(jìn)行自增運(yùn)算j的結(jié)果是10

inti=10;

intj=++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)算符有哪些?

有><>=<>=false這個(gè)表達(dá)式就是編譯錯(cuò)誤,布爾類型和引用類型的表達(dá)式只能用==和!=兩個(gè)比較運(yùn)算,例如”abc”’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&xb為false,也會(huì)執(zhí)行x>y

如果是短路與&&,如果第一個(gè)表達(dá)式為false,將不會(huì)執(zhí)行第二個(gè)表達(dá)式例如a>b&&xb為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ǔ)碼形式來存儲(chǔ)。

40)位運(yùn)算符都有哪些?

&與|或^異或~非>>右移>無符號(hào)右移

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

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

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

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

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

b的結(jié)果是:00000000000000000000000100101100結(jié)果為44

45)byteb=(byte)true;這個(gè)轉(zhuǎn)換成立嗎?

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

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

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

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

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

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

不是,String是java.lang包中的一個(gè)類,是引用類型的,8種基本類型中沒有一個(gè)是String類型。

49)空字符串用什么來表示?

用””(兩個(gè)并列的雙引號(hào))表示,代表0個(gè)長(zhǎng)度的字符串對(duì)象。

50)Strings=“”;和Strings=null;有什么區(qū)別?

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

51)兩個(gè)字符串用什么運(yùn)算符可以連成一個(gè)字符串?

用+運(yùn)算符,例如”abc”+“xyz”最后的結(jié)果就是“abcxyz”

52)數(shù)學(xué)運(yùn)算符加法和字符串連接符都是+,怎么區(qū)分?

是通過運(yùn)算符兩邊的操作數(shù)來判斷的,如果兩邊的操作數(shù)都是數(shù)字型的基本類型,則進(jìn)行數(shù)學(xué)運(yùn)算,如果兩邊的操作數(shù)有一個(gè)是字符串,則把另一個(gè)操作數(shù)也轉(zhuǎn)換為則進(jìn)行字符串連接運(yùn)算。例如:

5+4的結(jié)果是9“5”+4的結(jié)果是54

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

用equals方法判斷內(nèi)容相同,==只能判斷引用是否相同

54)提供用戶輸入使用哪個(gè)類

使用javav.util.Scanner類

55)if語句可以用if(-1)形式判斷嗎?

不可以,數(shù)字不能代替布爾值

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

當(dāng)執(zhí)行的語句只有一句的時(shí)候

57)switch語句有哪些規(guī)則?

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

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

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

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;inta[];String[]a;

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

int[]a=newint[]{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=newint[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是什么意思?

ObjectOrientedProgramming(面向?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源文件可以寫多個(gè)類嗎?

可以,但必須只能有一個(gè)公有類,并且文件名和公有類的類名相同。

5)類中有哪些成員?

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

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

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

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

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

8)一個(gè)構(gòu)造器調(diào)用另外一個(gè)構(gòu)造器需要用什么語法?

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

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

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

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

實(shí)例成員:是屬于對(duì)象實(shí)例的,用對(duì)象.成員名稱語法調(diào)用

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

11)靜態(tài)初始化塊statci{}的執(zhí)行時(shí)機(jī)是什么時(shí)候?

在類被加載的時(shí)候,僅執(zhí)行一次。

10

12)靜態(tài)方法可不可以直接調(diào)用同一個(gè)類中的非靜態(tài)方法?

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

13)包是什么?

包實(shí)際上就是物理上的文件夾,可以把類放到不同的包中。

14)把一個(gè)類放到包中,需要在類中加上什么語句?

需要加上包聲明package語句,必須寫在源文件的第一句。

15)什么時(shí)候需要導(dǎo)入類?用什么語句?

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

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

不可以,不在默認(rèn)包中的類無法使用默認(rèn)包中的類。

17)java中哪個(gè)包中的類是自動(dòng)導(dǎo)入的?

java.lang包

18)什么叫做完整類名?

頂層包名.子包名.類名

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

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

20)局部變量和全局變量的區(qū)別?區(qū)別局部變量全局變量聲明位置方法或塊內(nèi)部方法外類內(nèi)部訪問權(quán)限修飾符沒有訪問權(quán)限有訪問權(quán)限默認(rèn)值沒有默認(rèn)值有默認(rèn)值使用形式直接使用對(duì)象調(diào)用作用域在方法或語句塊內(nèi)部整個(gè)類生命周期進(jìn)入方法或語句塊創(chuàng)建隨著對(duì)象的創(chuàng)建而創(chuàng)建退出方法或語句塊銷毀隨著對(duì)象的銷毀而銷毀

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

如果是基本類型則賦的是值本身,引用類型則賦的是引用地址

第5章繼承和多態(tài)

1)類的繼承是誰繼承誰?

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

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

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

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

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

4)Object是什么類?

這個(gè)所有類的根類,任何類如果沒有寫顯式的繼承語句,默認(rèn)都是直接繼承Object類的

5)java中是單繼承還是多繼承?

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

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

有四種:

private:私用只能在被類中被訪問

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

protected:受保護(hù)的只能被同一個(gè)包中的類和不同包中的子類訪問public:公有可以被任何類訪問

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

子類覆蓋方法和父類被覆蓋方法的方法返回類型,方法名稱,參數(shù)列表必須相同子類覆蓋方法的訪問權(quán)限必須大于等于父類的方法的訪問權(quán)限方法覆蓋只能存在于子類和父類之間

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

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

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

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ū)分開。也可以用this()語法調(diào)用本類重載構(gòu)造器。super:本事是一個(gè)特殊關(guān)鍵字,可以用super.成員名稱調(diào)用從父類繼承的屬性和方法,也可以用super()語法調(diào)用父類構(gòu)造器。

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

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

13)什么時(shí)候子類構(gòu)造器會(huì)自動(dòng)調(diào)用父類無參構(gòu)造器?

當(dāng)子類構(gòu)造器中沒有任何顯式構(gòu)造器調(diào)用的時(shí)候,即既沒有this()調(diào)用也沒有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)換無繼承關(guān)系的類型轉(zhuǎn)換是非法的

17)instanceof操作符是作什么用處的?

可以判斷一個(gè)對(duì)象的類型是否是某一個(gè)類的類型或子類,也可以判斷這個(gè)對(duì)象的類型是否是一個(gè)接口的實(shí)現(xiàn)類

18)toString方法什么時(shí)候會(huì)自動(dòng)被調(diào)用?

在打印語句中傳入引用類型的對(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ù)類型。

分別是:BooleanByteShortIntegerLongCharacterFloatDouble

22)裝箱和拆箱分別是什么意思?

裝箱指的是把基本類型包裝成包裝類的引用類型

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

IntegerobjInt=newInteger(10);//裝箱inti=objInt.intValue();//拆箱

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

自動(dòng)拆裝箱,例如:

IntegerintObj=10;//自動(dòng)裝箱inti=intObj+5;//自動(dòng)拆箱

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

final修飾符可以修飾類,方法,變量final類為最終類,不能被子類繼承final方法為最終方法,不能被子類覆蓋final變量為常量,只能賦一次值

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

abstract修飾符可以修飾類和方法

abstract類為抽象類,是不能創(chuàng)建對(duì)象的

abstract方法為抽象方法,只有方法的聲明,沒有具體的實(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)如果沒有傳入類型參數(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)鍵字是什么?

14

interface關(guān)鍵字

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

數(shù)據(jù)域必須是(publicstaticfinal修飾)公有靜態(tài)常量方法必須是(publicabstract修飾)公有抽象沒有構(gòu)造方法

3)接口能創(chuàng)建對(duì)象實(shí)例嗎?

不能,接口沒有構(gòu)造器,不能創(chuàng)建對(duì)象

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

接口和類之間是實(shí)現(xiàn)關(guān)系,一個(gè)類用implements語句實(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)部類:聲明在方法外邊沒有static修飾符靜態(tài)內(nèi)部類:聲明在方法外邊有static修飾符局部?jī)?nèi)部類:聲明在方法里邊

8)如何創(chuàng)建實(shí)例內(nèi)部類的對(duì)象實(shí)例?

需要用外部類的對(duì)象來創(chuàng)建例如:

classA{}

classB{}

如果像創(chuàng)建B類的實(shí)例,則必須用以下語句:

Aa=newA();A.Bb=a.newB();

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

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

第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ì)作檢查,不處理異常則通不過編譯

4)如果在try塊中發(fā)生異常,那么程序?qū)?huì)跳轉(zhuǎn)到哪?

會(huì)跳轉(zhuǎn)到catch語句塊

5)catch語句可以用父類類型捕獲子類異常嗎?

因?yàn)橛卸鄳B(tài)特點(diǎn),是可以的

6)處理異常代碼finally語句會(huì)在什么時(shí)候執(zhí)行?

finally代碼在任何時(shí)候都會(huì)執(zhí)行,不管有沒有發(fā)生異常。

7)如何聲明已檢查異常,由誰來處理這個(gè)異常?

用throws語句來聲明一個(gè)已檢查異常,由方法的調(diào)用者來處理這個(gè)異常

8)如何拋出一個(gè)異常?

用throw語句拋出

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()

16

2)反射相關(guān)的類型都有哪些?

Class代表一個(gè)運(yùn)行時(shí)類Field代表一個(gè)類的屬性Method代表一個(gè)類的方法

Constructor代筆一個(gè)類的構(gòu)造器

3)如何聲明一個(gè)自定義標(biāo)注?

[]@interface{

返回值方法名稱();返回值方法名稱();}

例如:

public@interfaceMyComment{intid();

Stringinfo();}

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

有3個(gè)

@Override用于修飾此方法覆蓋了父類的方法,而非重載。@Deprecated用于修飾已經(jīng)過時(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方法:字符串大小寫轉(zhuǎn)換

3)StringBuffer類和String類有什么區(qū)別?

StringBuffer是可變類,String是不可變類

4)StringBuffer類和StringBuilder類有什么區(qū)別?

StringBuffer類是線程安全的,StringBuilder類是線程不安全的

17

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ī)訪問比較塊,但插入和刪除元素比較慢LinkedList但插入和刪除元素比較快,但隨機(jī)訪問比較慢

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章GUI圖形編程第13章線程

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方法

友情提示:本文中關(guān)于《java相關(guān)知識(shí)點(diǎn)總結(jié) 經(jīng) 典》給出的范例僅供您參考拓展思維使用,java相關(guān)知識(shí)點(diǎn)總結(jié) 經(jīng) 典:該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。


java相關(guān)知識(shí)點(diǎn)總結(jié) 經(jīng) 典》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請(qǐng)保留原作者信息,謝謝!
鏈接地址:http://m.seogis.com/gongwen/522665.html