《合肥工業(yè)大學(xué) JAVA程序設(shè)計(jì) 問答題》由會員分享,可在線閱讀,更多相關(guān)《合肥工業(yè)大學(xué) JAVA程序設(shè)計(jì) 問答題(3頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、1、 JAVA語言有哪些特點(diǎn)?
特點(diǎn):簡單性、面向?qū)ο蠹夹g(shù)、分布性、健壯性、安全性、體系結(jié)構(gòu)中立、可移植性、解釋執(zhí)行、高性能、多線程。(完全面向?qū)ο?、平臺無關(guān)性、多線程)
2、 JAVA平臺是什么?其運(yùn)行原理是什么?與一般操作平臺的不同?
JAVA平臺:由JAVA虛擬機(jī)和JAVA核心類構(gòu)成,為JAVA程序開發(fā)提供編程接口且與具體的操作系統(tǒng)無關(guān)的平臺。
運(yùn)行原理:JAVA代碼由編譯器編譯成字節(jié)代碼文件,然后由JAVA解釋器解釋執(zhí)行其字節(jié)文件。
與一般操作平臺的不同:JAVA是解釋執(zhí)行程序,編譯后產(chǎn)生的文件中不含有硬件信息,并且其支持跨平臺的運(yùn)行。
3、 字節(jié)碼?好處?
字節(jié)碼:經(jīng)過
2、JAVA編譯器編譯后,與特定機(jī)器無關(guān),需要解釋器才能執(zhí)行的中間代碼。
好處:字節(jié)碼中不包含有硬件信息,為JAVA跨平臺的運(yùn)行提供了基礎(chǔ)。
4、 什么是變量名?變量名與變量值有什么區(qū)別?
變量是用來標(biāo)識一塊內(nèi)存區(qū)域。變量名是一個標(biāo)識符,用來引用一塊內(nèi)存區(qū)域,變量值是內(nèi)存區(qū)域中存儲的值。
5、 什么是表達(dá)式?什么是語句?兩者之間有什么異同?
表達(dá)式是用運(yùn)算符及操作元連接符合一定語法規(guī)則的式子,語句是一個表達(dá)式最后加上一個分號。
異同:語句是程序的組成部分,表達(dá)式是語句的組成部分;語句有結(jié)束符,表達(dá)式?jīng)]有結(jié)束符;語句是針對程序而言的,表達(dá)式是數(shù)學(xué)上的計(jì)算概念;算式的計(jì)算結(jié)果“=”在右邊,
3、賦值語句“=”在表達(dá)式的左邊。
6、 Break和Continue語句的區(qū)別?
Break語句是跳出整個循環(huán),并且不執(zhí)行循環(huán)體內(nèi)的程序;而Continue語句則是跳出此次循環(huán),還可以繼續(xù)執(zhí)行循環(huán)體。
7、 Do……while語句和While語句的區(qū)別?
Do……while 語句是先執(zhí)行一次循環(huán)體的內(nèi)容再判斷,而While則是先判斷然后再執(zhí)行循環(huán)體的內(nèi)容。
8、 什么是類?如何定義一個類?類中包含了哪幾部分,分別是什么?
類是某些對象共同特征的表示,是對象的抽象。定義一個類需要在定義類的結(jié)構(gòu)中包含類的聲明和類的實(shí)體。類在語法上包含了類的聲明和類體兩個部分,其中類的聲明部分由關(guān)鍵字cl
4、ass與類名組成,類體中包含變量的說明,方法的定義與實(shí)現(xiàn)兩個部分。
9、 什么是對象?如何創(chuàng)建對象?
對象是類的具體,是操作的直接對象。創(chuàng)建對象需要借助new操作符和構(gòu)造函數(shù)配合使用,一般格式為:類名 對象名 = new 類名()
10、什么是構(gòu)造方法?構(gòu)造方法有那些特點(diǎn)?
構(gòu)造方法是一個類方法中方法名與類名相同的類方法,其作用是當(dāng)使用new關(guān)鍵字創(chuàng)建對象時,自動調(diào)用并對新建對象進(jìn)行初始化操作。
構(gòu)造方法特點(diǎn):
a. 構(gòu)造方法與類名相同
b. 構(gòu)造方法沒有返回值,不定義返回類型
c. 構(gòu)造方法可以重載,針對參數(shù)數(shù)量和類型定義多個同名構(gòu)造方法
d. 構(gòu)造方法可以繼承,子類可以繼
5、承父類的構(gòu)造方法
e. 構(gòu)造方法不是由編程人員顯式調(diào)用,其在對象創(chuàng)建時由new運(yùn)算符自動調(diào)用
f. 構(gòu)造方法只用來對類實(shí)例進(jìn)行初始化,目的在于簡化初始化操作
11、如何對對象進(jìn)行初始化?
對象的初始化是在對象創(chuàng)建完之后用構(gòu)造方法對其進(jìn)行初始化的操作,該操作的一般語法為 類名 對象名 = new 構(gòu)造方法
12、靜態(tài)方法與非靜態(tài)方法的區(qū)別?
靜態(tài)方法與非靜態(tài)方法的語法上的區(qū)別在于是否被static關(guān)鍵字修飾
a. 非靜態(tài)方法可以對靜態(tài)變量和非靜態(tài)變量操作,而靜態(tài)方法只能對靜態(tài)變量進(jìn)行操作
b. 靜態(tài)方法可以有對象調(diào)用也可以由類名直接調(diào)用,而非靜態(tài)方法只能由對象調(diào)用
c.
6、一個類中的方法可以互相調(diào)用,但靜態(tài)方法只能調(diào)用靜態(tài)方法,不能調(diào)用非靜態(tài)方法
d. 創(chuàng)建對象之前,非靜態(tài)方法沒有入口
13、final成員變量和方法有什么特點(diǎn)?
final成員變量一般在聲明是進(jìn)行初始化,一旦最終成員變量被賦值,則在整個程序執(zhí)行過程中都不能被改變,final方法不能被重復(fù)定義或者更改方法內(nèi)容,即被重載。
14、什么是類的封裝?如何對成員變量和方法的訪問權(quán)限的設(shè)置以達(dá)到數(shù)據(jù)封裝的目的?
類的封裝是指類的設(shè)計(jì)者為使用者提供類對象可以訪問的部分,而對于類中其余的成員變量和方法隱藏起來,用戶不能訪問。
可以通過public、protected、private、默認(rèn)四種控
7、制符來實(shí)現(xiàn)數(shù)據(jù)封裝的目的。
15、子類能夠繼承父類的哪些成員變量和方法?
子類中可以繼承父類中的public和protected成員。
16、多態(tài)中的重載和覆蓋有什么不同?
覆蓋是子類對父類同名方法的重定義,其方法名同而方法內(nèi)容不同,重載是指在類中創(chuàng)建多個方法,它們具有相同的名稱但有不同的參數(shù)和不同的實(shí)現(xiàn)。
17、如何來制作圖形界面?它需要引入哪些包?
制作圖形界面首先要創(chuàng)建一個窗口容器并在窗口中添加各種組件,接著在指定組件屬性和在窗口中的位置,構(gòu)成圖形界面的外觀效果,然后定義圖像界面的事件和各種組件對不同事件的響應(yīng),從而實(shí)現(xiàn)圖形界面和用戶的交互。
需要引用的包有:AWT
8、、Swing
18、在Java中什么是事件?簡述處理事件的機(jī)制。
事件是指人機(jī)交互所產(chǎn)生的交互內(nèi)容,其代表某對象可執(zhí)行的操作及其狀態(tài)變化。處理事件的機(jī)制:事件源根據(jù)觸發(fā)事件產(chǎn)生一個事件對象,事件對象傳遞參數(shù)并調(diào)用監(jiān)聽器相應(yīng)的處理方法。
19、什么是布局器,它有什么作用?
布局管理器就是一個用來安排其他容器和基本組件的對象。其主要是用來安排和管理其它組件在窗口中的位置。
20、何為異常?為什么要進(jìn)行異常處理?
異常是指程序運(yùn)行過程中出現(xiàn)的非正常。良好的應(yīng)用程序除了具備用戶所要求的功能外還應(yīng)該具備預(yù)見性并處理可能發(fā)生的各種各種異常功能。
21、Error和Exception類有
9、什么不同?
Error類是處理內(nèi)部系統(tǒng)錯誤,Exception類是解決程序本身及其環(huán)境所產(chǎn)生的異常。Exception類可以被捕獲和處理,Error類異常只能在發(fā)生時由用戶按照系統(tǒng)提示關(guān)閉程序。
22、什么是拋出異常?如何拋出異常?
拋出異常是指在程序過程中通過throw語句以“throw new 異常類名”的格式拋出異常。異常名可以選擇系統(tǒng)異常類名,也可以使用自定義異常類名。
23、什么是TCP/IP協(xié)議?它有什么特點(diǎn)?
TCP/IP協(xié)議,傳輸控制協(xié)議\因特網(wǎng)互聯(lián)協(xié)議,其是一個基于連接的協(xié)議,提供兩臺計(jì)算機(jī)之間的可靠的數(shù)據(jù)流。
特點(diǎn):
A. 開放的協(xié)議標(biāo)準(zhǔn),可免費(fèi)使用,并且
10、獨(dú)立于特定的計(jì)算機(jī)硬件與操作系統(tǒng)
B. 獨(dú)立于特定的網(wǎng)絡(luò)硬件,可以運(yùn)行在局域網(wǎng)、廣域網(wǎng),更適用于互聯(lián)網(wǎng)中
C. 統(tǒng)一的網(wǎng)絡(luò)地址分配方案,使整個TCP/IP設(shè)備在網(wǎng)中都具有唯一的地址
D. 標(biāo)準(zhǔn)化的高層協(xié)議,可以提供多種可靠的用戶服務(wù)
24、一個完整的URL的地址由哪幾部分組成?
一個完整的URL可分為四個部分:資源類型、存放資源的主機(jī)域名、資源文件名和端口。
25、URL連續(xù)從服務(wù)器上讀取一個文本文件,并顯示該文本文件的內(nèi)容
實(shí)例化URL對象->實(shí)例化URLConnection對象->實(shí)例化InputStreamReader對象->實(shí)例化BufferReader對象
26、簡
11、述Socket通信機(jī)制,說明客戶端如何與服務(wù)器進(jìn)行連接。
Socket通信機(jī)制:
A. 服務(wù)器生成一個ServerSocket實(shí)例對象,隨時監(jiān)聽客戶端的連接請求
B. 客戶端生成一個Socket實(shí)例對象,并發(fā)出連接請求
C. 服務(wù)器端通過accept()方法接受到客戶端的請求后,開辟一個端口與進(jìn)行連接,并生成所需的I/O數(shù)據(jù)流
D. 通信通過一對InputStream()和OutputStream()進(jìn)行通信,通信結(jié)束后,兩端分別關(guān)閉對應(yīng)的Socket接口
27、簡述URL與Socket通信的區(qū)別。
URL和Socket通信的區(qū)別:
A. 通信方式:Socket在服務(wù)器端
12、運(yùn)行通信程序,不停地監(jiān)聽客戶端連接請求,使服務(wù)器能夠在接受到請求時馬上與客戶端連接并通信;URL進(jìn)行通信時,被動等待客戶端的請求。
B. 連接數(shù):Socket服務(wù)器可以同時與多個客戶端進(jìn)行相互通信;URL通信服務(wù)器每次只能與一個客戶端進(jìn)行通信。
28、何為線程和多線程?如何建立多線程?
線程是一個程序內(nèi)部的順序控制流,多線程是在同一個應(yīng)用程序中有多個順序控制流同時執(zhí)行。創(chuàng)建線程有兩種方法:繼承Thread類、通過定義實(shí)現(xiàn)新Runnable接口。
29、線程的生命周期由哪幾種狀態(tài)?各狀態(tài)之間分別用哪些方法切換?
線程的生命周期有:就緒、可運(yùn)行、不可運(yùn)行、終止四種。
就緒->可運(yùn)行:start()
可運(yùn)行->可運(yùn)行:yield()
可運(yùn)行->不可運(yùn)行:sleep()、wait()
不可運(yùn)行->可運(yùn)行 : 阻塞解除、睡眠時間終止、喚醒
可運(yùn)行->終止:run()