java考試復(fù)習(xí)重點(diǎn)資料_第1頁
java考試復(fù)習(xí)重點(diǎn)資料_第2頁
java考試復(fù)習(xí)重點(diǎn)資料_第3頁
java考試復(fù)習(xí)重點(diǎn)資料_第4頁
java考試復(fù)習(xí)重點(diǎn)資料_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、JAVA考試重點(diǎn)復(fù)習(xí) 第一章Java概述1. Java如何實(shí)現(xiàn)跨平臺(tái)?通過Java虛擬機(jī)JVM來實(shí)現(xiàn)跨平臺(tái),先將Java源程序編譯成字節(jié)碼 (后綴為.class的代 碼),字節(jié)碼可以在Java虛擬機(jī)上運(yùn)行,不同的平臺(tái)有不同的 Java虛擬機(jī)JVM ,相同的 字節(jié)碼可以不同的平臺(tái)上運(yùn)行。2. Java開發(fā)的三個(gè)平臺(tái)是什么?J2SE、J2EE 和 J2ME3. 如何編譯與運(yùn)行java程序?test.java在Dos命令提示符狀態(tài)下通過命令行來實(shí)現(xiàn)的。例如:> test.class Output javacjava如果用命令行運(yùn)行 test的話,后面不可以寫".class ”,若寫成

2、test.class 系統(tǒng)會(huì)把class 當(dāng)成類名test當(dāng)成類包,所以在沒有類包的情況下不要寫成“ .class ”形式。第二章Java基礎(chǔ)1 .什么是標(biāo)識(shí)符?如何定義標(biāo)識(shí)符?標(biāo)識(shí)符是用來標(biāo)識(shí)變量、常量、方法、類、對(duì)象等元素的有效字符序列。Java語言規(guī)定標(biāo)識(shí)符由字母、下劃線、美元符號(hào)和數(shù)字等組成,并且第一個(gè)字符不能是數(shù)字。對(duì)標(biāo)識(shí)符的約定:(1)變量名、對(duì)象名、方法名、報(bào)名等標(biāo)識(shí)符全部采用小寫字母;如果標(biāo)識(shí)符由多個(gè)單詞構(gòu)成,則首字母小寫,其后單詞的首字母大寫,其余字母小寫,如getAge。(2)類名首字母大寫。(3)常量名全部字母大寫。2 .關(guān)鍵字的定義?關(guān)鍵字是由Java語言定義的、具有特

3、殊含義的字符序列。其首字母不能大寫。如: this,super,, extends, if, class, instanceof3 .Java中數(shù)據(jù)類型的結(jié)構(gòu)?字符(char)字節(jié)(byte)<短整數(shù)(short)整數(shù)(int)I長整數(shù)(long)'單精度浮點(diǎn)數(shù)(float)i雙雙精度浮點(diǎn)數(shù)(double )布爾(boolean)(基本數(shù)據(jù)類型 */定點(diǎn)類型數(shù)值類型<va數(shù)據(jù)類型浮點(diǎn)類型【引用數(shù)據(jù)類型 彳接口數(shù)組float與double定義時(shí)的區(qū)別:float型的數(shù)要在后面要加 f,如34.5f4 .常量與變量的聲明方式?常量:final修飾符類型標(biāo)識(shí)符 常量名=(直接)常

4、量如:final public double PAI=3.14 ;變量:修飾符類型標(biāo)識(shí)符 變量名戶常量;如: public float x=25.4f ;常量與變量的區(qū)別:一旦定義為常量了,其值不能改變,若要改變其值,只能改變聲明時(shí)的值。5 . Java的運(yùn)算符和表達(dá)式?單目運(yùn)算符:+、-、-雙目運(yùn)算符:+、-、*、/、邏輯運(yùn)算符:&、|、!、人、&&、|區(qū)別J述輯與:&J邏輯或:|短路與:&&(只要一個(gè)為F, 一定為F)、短路或:|(只要一個(gè)為則一定為T)6 .關(guān)于注釋的正確寫法?/ ”單行注釋/* */ "多行注釋第三、四、五章1

5、.Java的三種基本控制結(jié)構(gòu)?順序,選擇和循環(huán)if, switch , while , for, continue 與 break 區(qū)另1J2 .數(shù)組的定義?舉例定義一個(gè)基本數(shù)據(jù)類型的數(shù)組和一個(gè)引用數(shù)據(jù)類型的數(shù)組。數(shù)組是一組同類型的數(shù)據(jù)的集合,除了基本數(shù)據(jù)類型還包括引用數(shù)據(jù)類型,那么引用數(shù)據(jù)類型數(shù)組是如何聲明、初始化和使用的。例:基本數(shù)據(jù)類型數(shù)組的聲明,初始化intc=new int 5;(5表示數(shù)組的單元長度是5)c0=-5;或 intc=1,2,3;c2=3;引用數(shù)據(jù)類型數(shù)組的聲明初始化例:Strings=new String3; (3 表示有 3 個(gè)單元)S0=new String( a

6、b");或String口s1= 1”,2“,3" ;或String口s1= new String( 1");String口s2= new String( 2");String口s3= new String( 3");3 .如何聲明數(shù)組,初始化數(shù)組以及使用數(shù)組?4 .如何獲得數(shù)組單元的長度?int len=s.length5 .熟練掌握一維數(shù)組的聲明、初始化和操作6 .字符串的程明與初始化?常量字符串 String 字符串直接量字符串J1字符串常量可變字符串StringBuffer字符串String s= hello" hello會(huì)保存

7、在字符串值里字符串直接量String s15new string( hello");在堆上開辟了一個(gè)新的對(duì)象空間來存放hello對(duì)象變量String s2= hello";先看字符串池里面有沒有hello ,若有則直接將s2指向那個(gè)位置String s3=new string( hello");只要有new出現(xiàn)就一定會(huì)開辟一個(gè)新的空間。7 .字符串直接量與字符串常量的區(qū)別:存儲(chǔ)位置不一樣,字符串直接量放在字符串值里,字符串常量放在堆上。8 .常量字符串類與可變字符串類分別是什么?9 .常量字符串的基本操作方法有哪些?5+5+ Hello ”=? A "1

8、0Hello"“ Hello "+5+5=? 1> Hello55 ”="與 equals"的區(qū)另k比較對(duì)象是否相等的方法是="和equals”,在采用equals”進(jìn)行比較時(shí)不會(huì)出現(xiàn)問題,="比較引用變量的值,equals”(對(duì)象:內(nèi)存里整塊存儲(chǔ)的東西,對(duì)象變量 String s1 s1即為對(duì)象變量)比較的是對(duì)象里的內(nèi)容,故比較時(shí)應(yīng)該比較對(duì)象里面所包含的內(nèi)容而不是對(duì) 象變量。第六、七、八章1 .什么是類?類的成員組成 ?接口是否為類的成員?類就是將我們自然界中的事物的屬性特點(diǎn)和行為特點(diǎn)抽象封裝到類當(dāng)中,反映這類事物的特點(diǎn)和功能

9、。類的成員包括域變量和成員方法,對(duì)于域變量和成員方法都可以用static來修飾,static修飾的域變量稱為類變量,static修飾的方法稱為類方法,沒有被 static修飾的域變量和成員方法稱為實(shí)例變量(可以在程序中直接調(diào)用)和實(shí)例方法。接口不是類的成員,是一種特殊的類,不用class,而用interface o2 .關(guān)于類的正確表述?必須依照類的寫法,如何定義3 .什么是靜態(tài)域變量和實(shí)例域變量,靜態(tài)方法和實(shí)例方法?靜態(tài)域變量稱為類變量,靜態(tài)方法也稱為類方法,因?yàn)樗鼈兛梢酝ㄟ^“類名.”來調(diào)用。4 .什么是對(duì)象?如何創(chuàng)建對(duì)象?什么是對(duì)象變量?如何對(duì)對(duì)象進(jìn)行初始化?對(duì)象是類的一個(gè)實(shí)例。new在創(chuàng)

10、建對(duì)象的作用:(1)通過new在堆上開辟一個(gè)對(duì)象空間,將類當(dāng)中的域變量跟成員方法復(fù)制到對(duì)象空間當(dāng)中;(2)通過new來調(diào)用構(gòu)造方法來初始化對(duì)象;(3)將對(duì)象空間的首地址賦值給對(duì)象變量。對(duì)象變量就是指對(duì)象的首地址,通過 構(gòu)造方法對(duì)對(duì)象進(jìn)行初始化。5 .什么是構(gòu)造方法?構(gòu)造方法的特點(diǎn)與作用?構(gòu)造方法:(1)在一個(gè)類中方法名與類名相同的方法;(2)構(gòu)造方法不是通過對(duì)象來調(diào)用,而是通過new運(yùn)算符來調(diào)用;(3)構(gòu)造方法是一種特殊的成員方法,它沒有返回值。構(gòu)造方法特點(diǎn):可以被重載,當(dāng)沒有在類中定義構(gòu)造方法時(shí),系統(tǒng)會(huì)默認(rèn)提供一個(gè)不帶參數(shù)的構(gòu)造方法。作用:初始化對(duì)象。6 . super和this關(guān)鍵字的用法

11、?this用在當(dāng)前類,當(dāng)前類的一個(gè)默認(rèn)的對(duì)象,可以通過 this來調(diào)用當(dāng)前類的屬性和成員方法,也可以直接調(diào)用當(dāng)前類的構(gòu)造方法的重載方法。super用于一個(gè)類的子類中,作為父類在子類中的一個(gè)默認(rèn)的對(duì)象,通過它來調(diào)用父類的成員屬性和成員方法,也可以在子類的構(gòu)造方法里直接調(diào)用父類的構(gòu)造方法。7inal修飾類、變量和方法時(shí)各有什么特點(diǎn)?修飾類:這個(gè)類不能夠被繼承。修飾變量:這個(gè)變量值不能改變,成為一個(gè)常量。修飾方法:這個(gè)方法不能被覆蓋。8 .面向?qū)ο缶幊讨?,java類的三個(gè)主要特征是?三個(gè)主要特征:封裝性、繼承性和多態(tài)性封裝性:通過類的訪問修飾符來實(shí)現(xiàn)封裝性的public, protected,缺省,

12、private的訪問權(quán)限繼承性:extends 一個(gè)類繼承了另一個(gè)類,那么父類的所有成員屬性和成員方法都可以被繼承到子類當(dāng)中,子類也可以創(chuàng)建新的成員屬性和成員方法(現(xiàn)有的類創(chuàng)建新的類的特性) super多態(tài)性:靜態(tài)多態(tài)性,如:重載函數(shù)。動(dòng)態(tài)多態(tài)性,如:覆蓋函數(shù)。重載(overload): 一個(gè)類中可以定義多個(gè)名稱相同,但參數(shù)變量不同的方法,重載方法與 返回類型無關(guān),重載方法常常用于構(gòu)造方法,用于實(shí)現(xiàn)不同功能的初始化工作,重載 也稱為靜態(tài)多態(tài)性,這是由于該方法被調(diào)用時(shí)采用靜態(tài)地址充定位方式。覆蓋(override):在子類中對(duì)父類的某方法進(jìn)行了重新定義,但方法的簽名特征與父親完 全一致,訪問修飾

13、符的訪問的限制寬于或至少等于父類的訪問權(quán)限;主要用于實(shí)現(xiàn)同 一個(gè)方法在不同的類中實(shí)現(xiàn)不同的表現(xiàn)形式,覆蓋也稱為動(dòng)態(tài)多態(tài)性,這是由于該方 法只有在運(yùn)行時(shí)才能確定所調(diào)用的地址(也是多態(tài)性)。9 .什么是抽象類?什么是抽象方法?抽象類的特點(diǎn)?在類中至少有一個(gè)方法是抽象方法,那么這個(gè)類就稱為抽象類,用abstract來修飾抽象類。抽象方法即沒有定義這個(gè)方法的主體,給出這個(gè)方法的簽名特征。特點(diǎn):抽象類的對(duì)象變量是通過它的非抽象的子類來初始化的。如:Animal T=new Tiger () 里的方法都是抽象方法, 修飾符為public ,沒有寫默認(rèn)為public 抽象類非抽象類10 .什么是接口?接口的

14、特點(diǎn)?接口的作用?接口是使用interface關(guān)鍵字來代替class的特殊的類。接口的三種形式:(1)僅有常量接口; (2)常量和抽象方法接口( 3)僅有抽象方法接口。作用:(1)可以實(shí)現(xiàn)常量接口在多個(gè)類當(dāng)中共享常量;(2)實(shí)現(xiàn)共享一組標(biāo)準(zhǔn)操作來實(shí)現(xiàn)多個(gè)類之間的共享約定;(3)實(shí)現(xiàn)多態(tài)性。11 .接口與抽象類的區(qū)別?接口中所有的方法都是抽象方法,不管這個(gè)方法是否使用public , abstract修飾,它都是默認(rèn)的公有的抽象方法, 抽象類至少有一個(gè)抽象方法, 而且還有一個(gè)成員方法, 接口中不 能定義構(gòu)造方法,抽象類可以定義構(gòu)造方法。12 .什么是包?包的作用?包是java語言提供的組織類和接

15、口的工具,將一組相關(guān)的類為接口,組織到一個(gè)包中。作用:(1)通過包可以來確定類的唯一標(biāo)識(shí);(2)通過包可以將相似功能的類和接口組織在一個(gè)包中。第九章1 .什么是異常?為什么要處理異常?異常是指程序運(yùn)行過程中出現(xiàn)的非正常現(xiàn)象。由于異常情況總是難免的,良好的應(yīng)用程序除了具備用戶所要求的基本功能外,還應(yīng)該具備預(yù)見并處理可發(fā)生的各種異常的功能。2 .異常的基本處理方式?常用的異常類有哪些?兩種處理方式:(1) 一旦捕獲異常馬上進(jìn)行處理。try, catch, finally(2)捕獲異常并不處理,而是利用方法將異常拋出,throw, throws3 . Error 和 Exception 類的區(qū)別?E

16、rror是用來處理較少發(fā)生的系統(tǒng)內(nèi)部的錯(cuò)誤,程序員對(duì)這些錯(cuò)誤通常無能為力,只能在發(fā)生時(shí)由用戶按照提示來終止程序的運(yùn)行。4 . throw和throws語句的區(qū)另1J?throw 是拋出一個(gè)異常對(duì)象,如: throw new xxx Exceptionthrows是某一個(gè)方法在聲明和定義時(shí),這個(gè)方法后面緊跟著throws,然后闡明這個(gè)方法可能拋出異常,如:throws new xxx Exception 這個(gè)異??梢允菢?biāo)準(zhǔn)異常類,也可以是 自定義的異常類。第十章1. Java輸入輸出的基本方式?主要是通過輸入和輸出流實(shí)現(xiàn)的,輸入流將數(shù)據(jù)從文件標(biāo)準(zhǔn)輸出或其他外部設(shè)備輸入, 輸出流將數(shù)據(jù)保存到文件或

17、傳輸給相關(guān)的設(shè)備。2 .字符流域字節(jié)流的區(qū)別是什么?舉例說明哪些類處理字符流?哪些處理字節(jié)流?如果字 節(jié)流向字符流進(jìn)行轉(zhuǎn)換需要用什么類?字節(jié)流是以字節(jié)為單位的訪問文件,字節(jié)流具有兩個(gè)重要的抽象類,“input stream和output stream"。字符流是以字符為單位的訪問文件,兩個(gè)重要的抽象類,“Reader和Writer"。橋接類在定義字節(jié)流時(shí),由于任何字節(jié)流的類都跟著一個(gè)stream,字符流的類后綴reader,writer o 橋接類: 跟著 Inputstream reader 和 Outputstream writer o3 .為什么需要使用帶有緩沖的輸入

18、輸出流進(jìn)行數(shù)據(jù)的讀取與寫入?提高運(yùn)行效率,對(duì)字符而言,為 Buffer Reader,對(duì)字節(jié)而言, Buffer Input stream 如: Buffer Reader new=Buffer Reader ()第十一、十二章1 . javaGUI編程需要導(dǎo)入哪些包? .awt* , .Swing* , .event*2 .什么是組件?什么是容器?哪些是頂層容器?哪些是中間容器? 組件是圖形用戶界面是哪個(gè)現(xiàn)實(shí)的各種圖形基本成分和核心元素。容器是可以包含其他組件的組件,容器是組件的一種。頂層容器:JFrame, JDialog , JApplet (用于布局其他容器與組件的最基本容器)中間容器

19、:JPanel, JScrollpane, JTabbedpane, JToolBar最靈活最常用的中間容器3 .什么是布局管理器?作用是什么?說出三種布局管理器及其特點(diǎn)。布局管理器是用來管理各種組件容器中擺放位置的對(duì)象;作用是將組件房子相應(yīng)的位置,使容器中的組件安排更加合理,減少與系統(tǒng)平臺(tái)的相關(guān)性;BorderLayout (邊布局)類:把容器內(nèi)的空間劃分為東、西、南、北、中五個(gè)區(qū)域; FlowLayout (流式布局)類: 從左到右排列;GridLayout (網(wǎng)格布局)類:從左到右從上到下的順序依次放入各網(wǎng)格 中(沒個(gè)網(wǎng)格只能放一個(gè)組件)4 .什么是事件? Java如何處理用戶的操作?事

20、件:當(dāng)用戶用鍵盤或鼠標(biāo)來進(jìn)行操作時(shí),操作系統(tǒng)發(fā)出的相應(yīng)的信號(hào)。事件源:用戶在操作過程中所使用的相關(guān)組件。通過事件驅(qū)動(dòng)模型來處理用戶操作的。5 .列出常用的時(shí)間監(jiān)聽器接口及其方法。ActionListener AdjustmentListener FocusListener ItemListenerKeyListener按下那個(gè)鍵actionperformed () adjustmentValueChange () focusLost () focusGained () itemStateChange ()keyPressed ()正按下那個(gè)鍵還沒有彈起keyTyped ()已經(jīng)MouseLis

21、tener57JAVA編程復(fù)習(xí)總結(jié)筆記一1 安裝JDK時(shí)不要默認(rèn)安裝到j(luò)ava.因?yàn)镻rogram File小間有空格,會(huì)而下安裝的相關(guān) 軟件的運(yùn)行。所以,最好默認(rèn)安裝到j(luò)dk.中。2 Eclipse也是java寫的3 java最關(guān)鍵兩種機(jī)制:垃圾收集和虛擬機(jī)4 SDK: Software Development KitJRE:Java Runtime Environment5 Solaris6 配置 path&classpath1) Path: windows系統(tǒng)執(zhí)行命令時(shí)要搜索的路徑所以,javac其實(shí)是執(zhí)行了 windows下面的一個(gè)可執(zhí)行文件:C:jdk5.0bin下面的jav

22、ac.exe命令.windows執(zhí)行時(shí)會(huì)到一個(gè)叫 path的環(huán)境變量下去找。2) Classpath: java在編譯和運(yùn)行時(shí)要找的class所在的路徑.;當(dāng)前目錄下執(zhí)行,一定要寫在最前面。C:test test目錄下執(zhí)行7 UltraEdit-32出現(xiàn)#.java.bak文件,是UltraEdit自動(dòng)添加的.高級(jí)一配置文件處理-OL:選擇不備份就可以了8 本質(zhì)上講,變量其實(shí)是內(nèi)存中的一小塊區(qū)域,使用變量名來訪問這塊區(qū)域因此,變量必須先聲明(先把這塊內(nèi)存給我分配了),后賦值(填內(nèi)容),才能使用。9 內(nèi)存管理:Heap:動(dòng)態(tài)生成內(nèi)存用的,即 new出來的東西Stack:局部變量Data segm

23、ent:靜態(tài)變量字符串常量Code segment:存放代碼10 java變量的分類:1 ) 按被聲明的位置局部變量:方法或語句塊內(nèi)部聲明的成員變量:(不是C+的全局變量)方法體外,類體的內(nèi)部聲明的11 Java采用Unicode編碼,Unicode是全球語言統(tǒng)一編碼12 8位表示1個(gè)字節(jié),2個(gè)字節(jié)表示1個(gè)字符。(1個(gè)字節(jié)最多表示2的8次方個(gè)符號(hào),所以用來表示中文,日文一個(gè)字節(jié)不夠用,所以立 有國標(biāo)碼:GB2312)13 Boolean 只能是 true 和 false.1 Byte: 一個(gè)字節(jié) short:二個(gè)字節(jié) int:四個(gè)字節(jié) long :八個(gè)字節(jié)2 八進(jìn)制要求以0開頭,如012十六進(jìn)

24、制要求以 0X或0x開頭,如0x123 編程格式:1) 右大括號(hào)對(duì)齊2) 遇到左大括號(hào)tab鍵(或者shift+tab)縮進(jìn)3) 程序塊之間加空行4) 并排語句之間加空格5) 運(yùn)算符兩邊加空格6) 成對(duì)編程7) 前面有空格4 運(yùn)算符/ :除 :求余5 Void catchdog (Dog d) d.scream();)6 JDK本身就提供了很多類,比如string7 引用變量相關(guān)知識(shí)點(diǎn):Java里除了基本類型(四類八種)之外的變量都叫引用類型 Java中的對(duì)象是通過引用對(duì)其操作的。引用分配的是兩塊內(nèi)存:String s;先在內(nèi)存中占 NULL ,在stack內(nèi)存中S = new string(

25、 " hi "定了實(shí)際分配內(nèi)存,s指向了在heap內(nèi)存中中new出的對(duì)象類的成員變量在不同的對(duì)象中有不同的值但方法只有一份,不占內(nèi)存,只是一堆代碼。只有在執(zhí)行的時(shí)候才占內(nèi)存。8 使用對(duì)象(引用).成員變量使用對(duì)象(引用).方法來調(diào)對(duì)象的方法。9 構(gòu)造方法與類同名且沒有返回值,而其他的方法必須要有返回值,沒有 int double的時(shí)候必須也要有 void.10 Person jyang = new person(1,3);的時(shí)候,注意類person帶了參數(shù),說明不是編譯器自動(dòng)添加的構(gòu)造函數(shù)了,這說明已經(jīng)重載的構(gòu)造方法。如果沒有重載的話, 應(yīng)該是 person jyang =

26、 new person。;11約定俗成的命名規(guī)則:1)類名的首字母大寫2)變量名和方法名的首字母小寫3) 駝峰標(biāo)識(shí)1 static1 ) static的成員變量只有一份,不像其他的成員變量只要new 一個(gè)對(duì)象就有一份。2 ) 在調(diào)用static方法時(shí),不會(huì)將對(duì)象的引用傳遞給它!static方法中不能訪問非static成員,即靜態(tài)方法不再是針對(duì)某個(gè)對(duì)象調(diào)用,所以不能訪問非靜態(tài)方法。3)可以通過對(duì)象引用或類名(不需要實(shí)例化)訪問靜態(tài)成員。3 第一句話寫 package訪問位于同一個(gè)包下面的類不需要引入4 java.lang 包含些 java 的核心類,如 string,math,integer,s

27、ystem 和 Thread,提供常 用功能。Java.awt包含了構(gòu)成抽象窗口工具集(abstract window toolkits)的多個(gè)類,用來構(gòu)建GUI。Java.applet包含applet運(yùn)行所需的一些類。J包含執(zhí)行與網(wǎng)絡(luò)相關(guān)的操作的類。Java.ioJava.util包含一些實(shí)用工具類,如定義系統(tǒng)特性,使用與日期日歷相關(guān)的函數(shù)。5 jar cvf xx.jar *.*6 private類內(nèi)部訪問,即使是子類繼承了也不能用。default類內(nèi)部,同一個(gè)包內(nèi)的其它類也可以訪問protected類內(nèi)部。同一個(gè)包可以訪問或者不是這個(gè)包但是子類也可以public任何地方都可以7 exte

28、nds通過繼承,子類自動(dòng)擁有了基類的所有成員變量和方法。8 java只支持單繼承,一個(gè)子類只能有一個(gè)基類,但一個(gè)基類可有派生出多個(gè)子類9 重寫:override在子類中可以根據(jù)需要從基類中繼承來的方法進(jìn)行重寫。重寫方法必須和被重寫的方法具有相同的方法名稱,參數(shù)列表和返回類型重寫方法不能使用比被重寫方法更嚴(yán)格的訪問權(quán)限重載:一個(gè)類中的。10 Java類中使用super來引用基類成分,This是當(dāng)前對(duì)象的引用(this.#), super是父類對(duì)象的引用 (super.#)。1繼承中構(gòu)造方法的規(guī)則1) 子類的構(gòu)造的過程中必須調(diào)用其基類的構(gòu)造方法,即構(gòu)造子類的時(shí)候必須先構(gòu)造好基類(沒有父親的存在哪有

29、兒子的存在)2) 子類可以在自己的構(gòu)造方法中使用super(argment_list)調(diào)用基類的構(gòu)造方法.如果調(diào)用super必須寫在子類構(gòu)造方法的第一行3)如果子類沒有顯示的調(diào)用基類構(gòu)造方法,系統(tǒng)默認(rèn)調(diào)用基類默認(rèn)的構(gòu)造方法(此時(shí),如果基類構(gòu)造方法重載,這時(shí)沒有寫無參數(shù)的構(gòu)造方法,編譯器沒有默認(rèn)構(gòu)造方法,則出錯(cuò))3) Object 類1) Java.lang中的類,是所有java類的根基類2) 類的聲明中未使用extends關(guān)鍵字指明其基類,則默認(rèn)為從 objects繼承3) finalize。:類似C+的析構(gòu)函數(shù),在java中垃圾回收器幫忙自動(dòng)調(diào)用這個(gè)方法。clone():getClass()

30、:與反射有關(guān),返回一個(gè)對(duì)象運(yùn)行時(shí)的類toString():1) object類中定義有public String toString (),其返回值是String類型,描述當(dāng)前對(duì)象的有 關(guān)信息。2) 在進(jìn)行String與其它類型數(shù)據(jù)的連接操作時(shí)(如:System.out.println( "info " +Persion),將自動(dòng)調(diào)用該對(duì)象類的toString()方法3) 可以根據(jù)需要在用戶自定義類型中重寫public String toString ()方法。system.out.println(b);(b 是一個(gè) new 出的對(duì)象)4) 重寫要copy!如果重寫成publ

31、ic String ToString(),編譯沒問題,但運(yùn)行不行。equals():加"s"第三人稱。1) system.out.println(C1 = C2)結(jié)果為 falsesystem.out.println(C1.equals(C2);結(jié)果為false.這是最原始的 equals方法,所以結(jié)果換湯不換藥,和上面的一樣。因?yàn)楸容^的兩個(gè)貓的引用,內(nèi)存地址不等,永遠(yuǎn)不等。2)所以需要重寫equals()方法:public boolean equals(Object obj)if(obj instanceof Cat)/ 如果 obj 屬于一只貓Cat c = (Cat)

32、 obj; 強(qiáng)制轉(zhuǎn)換 object 為一只貓3) object類中的string類data類等都已經(jīng)重寫了equals方法。1) 基類的引用類型變量可以指向其子類的對(duì)象2) 基類的引用不可以訪問其子類對(duì)象新增加的成員(屬性和方法)如: 基類 animal a = new dog(); a 不能訪問 dog的新增成員。3) 可以使用引用變量instanceof類名來判斷該引用型變量所指向的對(duì)象是否屬于該類或該類的子類 (如: a instanceof dog)4) 子類的對(duì)象可以當(dāng)作基類的對(duì)象來使用稱作向上轉(zhuǎn)型(upcasting),反之稱為向下轉(zhuǎn)型(downcasting)需強(qiáng)制轉(zhuǎn)換。5) d

33、og d1 = (dog) a;把動(dòng)物a強(qiáng)制轉(zhuǎn)換成一只狗。1抽象修飾符可以修飾抽象類和抽象方法。凡是用抽象修飾符修飾的類被稱為抽象類。 抽象類就是沒有具體對(duì)象的概念類。 由于抽象類是它的所有子類的公共屬性的集合。例:abstractabstract修飾的抽象方法是一種僅有方abstract void phonecard;可見 abstract 方class phonecard表示電話卡類所有公共屬性。修飾符 法頭,而沒有具體的方法體和模塊實(shí)現(xiàn)的方法。例: 法只有方法頭的聲明,后面沒有大括號(hào)包含的方法體。static修飾符修飾僅屬于類的域,它 是一個(gè)公共的存儲(chǔ)單元,任何一個(gè)對(duì)象2靜態(tài)修飾符使用在

34、靜態(tài)域和靜態(tài)方法中,靜態(tài)域是用 們是類的域,不屬于任何一個(gè)類的具體對(duì)象,靜態(tài)域訪問它時(shí),取到的都是相同的數(shù)值。例:Set Addtory ():Static void setAdditory (double newadd) if ( newAdd > 0 )additoryFee = newAdd ; / additoryFee 為靜態(tài)域。2.什么是構(gòu)造函數(shù)?構(gòu)造函數(shù)有什么特點(diǎn)?子類如何調(diào)用父類?1構(gòu)造函數(shù):構(gòu)造函數(shù)用來處理對(duì)象的初始化。它是一種特殊的成員函數(shù)。構(gòu)造函數(shù)名必須與類名相同,它不具有任何類型,不返回任何值。2構(gòu)造函數(shù)的特點(diǎn):A可以為對(duì)象的屬性賦初值,還可以在對(duì)象初始化過程中進(jìn)

35、行必要的檢查和處理。B提高了編程的靈活性。3子類調(diào)用父類:A如果子類沒有定義任何函數(shù),那么就在創(chuàng)建子類對(duì)象時(shí)將調(diào)用父類的無參數(shù)的構(gòu)造函數(shù) B如果子類自己定義了構(gòu)造函數(shù),則在創(chuàng)建子類對(duì)象時(shí),系統(tǒng)將首先隱含執(zhí)行父類無參數(shù)的構(gòu)造函數(shù),然后再執(zhí)行子類自己的構(gòu)造函數(shù)。C如果在子類自己定義的構(gòu)造函數(shù)中,利用 super關(guān)鍵字顯式的調(diào)用父類的構(gòu)造函數(shù),系統(tǒng)不再隱含父類的無參數(shù)的構(gòu)造函數(shù)。PS: super的顯式調(diào)用語句必須是子類構(gòu)造函數(shù)的第一個(gè)可執(zhí)行語句。3.如何定義數(shù)組,如何開辟數(shù)組空間?1 聲明數(shù)組:聲明數(shù)組主要是聲明數(shù)組的名稱和數(shù)組所包含的元素的數(shù)據(jù)類型或元素的類名。 數(shù)組元素類型數(shù)組名 ;或 數(shù)組元

36、素類型 數(shù)組名;例: int MyIntArray ;或 D200_Card ArrayOf200Card; / 類也可以當(dāng)作一個(gè)基本數(shù)據(jù)類型使用2 開辟數(shù)組空間:數(shù)組名 = new 數(shù)組元素類型數(shù)組元素的個(gè)數(shù) ;3 : int MyIntArray = new int 10;D200_Card ArrayOf200Card = new D200_Card 154 .用內(nèi)部類和當(dāng)前類如何實(shí)現(xiàn)監(jiān)聽者?內(nèi)部類:Public class Test exTends AppletButton bt;Public void init ( ) bt = new Button ( 計(jì)算 );add (bt);

37、bt.addActionListener(new ButtonAct ( ) ) ;11 Iclass ButtonACT implements ActionListener / 內(nèi)部類Public void actionperformed ( ActimEvent e)/ bt的事件處理當(dāng)前類:Public class Test extends Applet imPlements ActionListener Button bt ;11IPublic void init ( )bt = new Button( 計(jì)算 ) add(bt);Public viod actionPerformed

38、(ActionEvent e) /bt 的事件處理5.有哪幾種布局?每種布局的情況如何,如何使用?1 FlowLayout 布局:組件在一行中從左至右水平排列,排滿后折行。A加入組件:add(組件名);B 將布局改為 FlowLayout; 使用 SetLayout( new FlowLayout ( ) ) ; 語句。 也可以使用下列兩 種構(gòu)造函數(shù)。1 FlowLayout (int align, int hgap, int vgap)Align: 每行的對(duì)齊方式: LGFT,CENTER,RIGHTHgap:橫向間距(單位是像素)Vgap: 縱向間距(單位是像素)2 FlowLayout(

39、int align) 橫縱向間距固定為 5 個(gè)像素。2 BorderLayout 布局:組件按北南 東 西幾個(gè)位置排列,規(guī)定各組件間的橫縱距都為0;其他都如 1 中使用3 GrrdLayout: 以行和列的網(wǎng)絡(luò)形式或安排組件指定化分網(wǎng)格: setLayout (new GirdLayout( 行數(shù) 列數(shù) ) ) ;加入一個(gè)空的標(biāo)簽: add(newLable( ) )4 CardLayout: 每一個(gè)組件為一個(gè)卡片 容器僅顯示其中一張卡片A 創(chuàng)造對(duì)象: MyCard =new CardLayout ( )B 指定布局屬性: setLayout(Mycard)C加入組件:add(字符串,組件);

40、D 顯示:show (容器名,字符串);此外:first(容器名):顯示第一個(gè)組件Last(容器名):顯示最后一個(gè)組件Previous(容器名):顯示前一個(gè)組件Next(容器名):顯示下一個(gè)組件。6 .簡述JAVA 事件的處理機(jī)制7 .什么是容器組件?(Ponel 與 Frame 的擴(kuò)展)Ponel 與容器事件: Ponel 屬于無邊框容器。 Ponel 是 Container 的子類。它是最簡單的容器,它沒有邊框或其他可視邊界,不能被移動(dòng),放大縮小或關(guān)閉。Ponel 總是作為一個(gè)容器組件被加入列其他的容器中, Ponel 也可以包含另一個(gè)PonelFrame 可以作為一個(gè)Applicatio

41、n 的最外層容器,也可以被其他容器創(chuàng)建并彈出成為獨(dú)立的容器,F(xiàn)rame 容器的方法有:1 getTitle( ) 和 setTitle(string) 2 setVisible(boolean) 方法 3 dispose ( )方法8.String 類的構(gòu)造函數(shù)及其使用方法1 Public string ( )這個(gè)構(gòu)造函數(shù)用來創(chuàng)建一個(gè)空的字符串常量2 Public string( Sting value)利用一個(gè)已經(jīng)存在的字符串常量創(chuàng)建一個(gè)新的 String 對(duì)象, 該對(duì)象的內(nèi)容與給出的字符串常量一致。3 Public string(string Buffer buffer)利用一個(gè)已經(jīng)存在的

42、 String Buffer 對(duì)象為新建的 String 對(duì)象初始化4 Public String (char value )利用已經(jīng)存在的字符數(shù)組的內(nèi)容初始化新建的 string 對(duì)象Java 的開發(fā)環(huán)境( 1 ) 、 bin 目錄:存放可執(zhí)行文件。( 2 ) 、 lib 目錄:存放Java 的類庫文件。( 3 ) 、 demo 目錄:存放演示程序。4 ) 、 jre 目錄:存放Java 運(yùn)行環(huán)境變量。配置環(huán)境:用戶變量是針對(duì)某一個(gè)用戶的,而系統(tǒng)變量是針對(duì)整個(gè)電腦的。要加兩個(gè)路徑: ( 1 ) 、 path 加 bin 路徑;并以分號(hào)隔開。( 2) 、 classpath 加 .; lib

43、的路徑。Java 數(shù)據(jù)類型分兩個(gè)類別:( 1 ) 、原始數(shù)據(jù)類型。( 2 ) 、引用數(shù)據(jù)類型。原始數(shù)據(jù)類型Java 關(guān)鍵字都是小寫。Byte(字節(jié)型)8-128127Boolean(布爾型)1 true/false引用數(shù)據(jù)類型:( 1 ) 、 數(shù)組 :具有相同數(shù)據(jù)類型的變量的集合。( 2 ) 、 類 :變量和方法的集合。(3) 、 接口 :一個(gè)抽象類,其創(chuàng)建目的是為了實(shí)現(xiàn)Java 中的多重繼承。變量的作用域和生命周期變量在作用域內(nèi)為局部變量,所以在其作用域外不能使用 .作用域可以嵌套。類型轉(zhuǎn)換1、自動(dòng)類型轉(zhuǎn)換:1 ) 、兩種類型必須兼容2 ) 、目標(biāo)類型大于源類型。2、強(qiáng)制類型轉(zhuǎn)換3、類型提升

44、規(guī)則賦值運(yùn)算符:可以將單個(gè)語句中賦給多個(gè)變量。從右向左執(zhí)行。例: p = q = r = s = num.邏輯運(yùn)算符:A:邏輯異 :如兩個(gè)值一樣就為假.條件運(yùn)算符語法:Expression1 ? expression2 : expression3Java 源文件的名與公共類名一樣包括大小寫源文件最多有一個(gè)公共類,源文件可以沒有公共類,此時(shí)源文件名可以隨意。數(shù)組僅聲明: 例: datetype identifier聲明和創(chuàng)建: 例: datatype ident ifier = new datetypesize;聲明、創(chuàng)建和初始化:例:datetype identifier=value1,val

45、ue2, .valueN;命令行參數(shù)Args.length :能得到數(shù)組的長度??梢栽诿钚兄苯觽鲾?shù)值給main()方法的String類型的數(shù)組args。對(duì)象:是存在的具體實(shí)體,具有明確定義的狀態(tài)和行為。消息傳遞:本質(zhì)上就是方法的調(diào)用(?)消息:指一個(gè)對(duì)象為執(zhí)行特定操作而向另一個(gè)對(duì)象發(fā)送的請(qǐng)求。類類:是具有相同屬性和共同行為的一組對(duì)象的集合。類的屬性:對(duì)象或?qū)嶓w擁有的特征在類中表示時(shí)成為屬性。對(duì)象執(zhí)行的操作稱為方法。類和對(duì)象的區(qū)別類是用來描述實(shí)體的“模板“或”原型“,而對(duì)象是實(shí)際的實(shí)體。封裝隱藏屬性、方法或?qū)崿F(xiàn)的詳細(xì)信息的處理方式稱為封裝。抽象它是指只關(guān)注對(duì)象的重要細(xì)節(jié),而忽略對(duì)象的次要細(xì)節(jié)。

46、通過抽象簡化軟件的復(fù)雜性。抽象分: ( 1) 、數(shù)據(jù)上的抽象( 2) 、過程上的抽象。將實(shí)體的相關(guān)屬性和操作根據(jù)特定的應(yīng)用程序進(jìn)行標(biāo)識(shí)和分組的過程就是數(shù)據(jù)抽象。在 Java 中實(shí)現(xiàn)類語法如下:Class <classname><body of the class>類中的方法語法:<returntype><methodname>(<type1><arg1>,<type2><ar g2>,.)<set of statements>調(diào)用方法類似于調(diào)用或引用實(shí)例變量。 方法可是使用點(diǎn)操作符來訪問

47、。 方法被調(diào)用的對(duì)象在圓點(diǎn)左邊,而方法的名稱在圓點(diǎn)右邊。例如:Obj . isAvailable();構(gòu)造方法例:Pixel p = new Pixel();Pixel() :是類中的構(gòu)造方法。是 new 出來的東西都是引用類型。構(gòu)造方法是只要在創(chuàng)建給定類的實(shí)例時(shí)就調(diào)用的一個(gè)方法。 它們與類同名, 但不具備任何返回類型。構(gòu)造方法的特點(diǎn): ( 1) 、跟類名相同。( 2 ) 、沒有任何返回值。( 3 ) 、構(gòu)造方法只能用 new 來調(diào)。( 4 ) 、構(gòu)造方法一般不只一個(gè),就構(gòu)成了重載。構(gòu)造方法類型: ( 1 ) 、參數(shù)化構(gòu)造方法。( 2 ) 、隱式/默認(rèn)構(gòu)造方法。當(dāng)一個(gè)類未定義構(gòu)造方法時(shí),Jav

48、a虛擬機(jī)(JVM)便提供一個(gè)默認(rèn)構(gòu)造方法,它不帶任何參數(shù),其主體不含任何語句,這種構(gòu)造方法稱為隱式構(gòu)造方法。 類中聲明構(gòu)造方法, 類不會(huì)再自動(dòng)添加了.包主要用途:1 、包允許將類合成為較小的單元,使其易于中找到和使用相應(yīng)的類文件。2、有助于避免命令沖突。創(chuàng)建包: package pkg;創(chuàng)建包前面一般加上公司的域名例如:package cn.qingdao.s1t23;自動(dòng)使用包名創(chuàng)建一個(gè)文件,并自動(dòng)將。 Class 文件存放在此文件夾中。例:javac - d c:java Calculate.java導(dǎo)入包: import package_name.*;如果使用的類是來自不同的包,且沒有使

49、用 import 語句導(dǎo)入該包,則需要在代碼中指明使用類隸屬的包。 方法是使用“.”來訪問中的成員。例如:Mypackage.Calculate calc=new mypackage.Calculate();知識(shí)擴(kuò)展:課后作業(yè)題 2、 ( 1) 、兩個(gè)類建在一個(gè)文檔下面執(zhí)行的時(shí)候問什麼不成功?解:不能進(jìn)入包中運(yùn)行類。 運(yùn)行的方法是在包外加包前綴運(yùn)行 。例:Java parent.child.ParentTest( 2) 、用點(diǎn)星導(dǎo)進(jìn)所有類問什麼出現(xiàn)錯(cuò)誤?解:是因?yàn)?JAVA 程序錯(cuò)把 .JAVA 源文件當(dāng)成.class 字節(jié)碼,而無法編譯。只需把源程序提出包就可以了。面向?qū)ο蟮奶攸c(diǎn): ( 1)

50、 、封裝。 ( 2 ) 、繼承。 ( 3) 、多態(tài).繼承主要有點(diǎn):代碼的可重用性。使用關(guān)鍵字extends 來繼承類。一個(gè)類一經(jīng)定義和調(diào)試,便可以用來創(chuàng)建新的子類的對(duì)象中,子類Car、Ship和Plane具有與父類相同的屬性和方法。子類構(gòu)造方法構(gòu)造方法用于初始化特定類型的對(duì)象并分配內(nèi)存, 構(gòu)造方法的名稱與類名相同 。 創(chuàng)建對(duì)象時(shí)會(huì)自動(dòng)調(diào)用構(gòu)造方法。 類似地, 子類的構(gòu)造方法的名稱也與子類名相同, 創(chuàng)建子類的對(duì)象時(shí)將調(diào)用此構(gòu)造方法。需要注意的是, 子類永遠(yuǎn)不會(huì)繼承父類的構(gòu)造方法除了構(gòu)造方法之外,父類的所有方法和屬性都由子類的對(duì)象繼承。 創(chuàng)建子類的對(duì)象時(shí), 它將會(huì)包含父類的所有方法和屬性。 父類的

51、值應(yīng)該正確地初始化, 這一點(diǎn)非常重要。 子類構(gòu)造方法可以調(diào)用父類構(gòu)造方法。需要注意的是,父類構(gòu)造方法的調(diào)用總是先于子類構(gòu)造方法的調(diào)用。另一方面,通過使用關(guān)鍵字 super,程序員還可以從子類構(gòu)造方法中調(diào)用父類中默認(rèn)構(gòu)造方法或或帶參數(shù)的構(gòu)造方法。 調(diào)用父類調(diào)用父類構(gòu)造方法的語句應(yīng)該為子類構(gòu)造方法中的第一個(gè)語句這是因?yàn)楦割愊扔谧宇惔嬖?。例 :auper(parameter_list) or super();多態(tài)性函數(shù)不能嵌套,也就是函數(shù)內(nèi)部不能出現(xiàn)函數(shù)。重載方法:參數(shù)列表不同( 1 ) 、數(shù)目不同( 2 ) 、參數(shù)類型不同。 ( 3 ) 、參數(shù)順序不同。重寫方法: 在類體系結(jié)構(gòu)中, 當(dāng)子類中的方

52、法與其父類中的方法具有相同的方法時(shí), 則認(rèn)為子類中的方法重寫了父類中的方法。 從子類中調(diào)用重寫方法時(shí), 將總是調(diào)用出項(xiàng)在子類中的方法,而父類中的方法將被隱藏。多態(tài)性: 一個(gè)子類有自己的屬性,又有父類的屬性。這種狀態(tài)叫多態(tài)性。Super : ( 1) 、子類的構(gòu)造方法可用來調(diào)用父類的構(gòu)造方法。( 2) 、調(diào)用已被重寫的父類的方法(可以不是第一句) 。訪問修飾符1、 public (公有) :類的 public 成員可以被該類的成員和非該類的成員訪問??蓱?yīng)用于: 類、方法、屬性。2、 private (私有) :類的 private 成員只能被該類的成員訪問,任何非該類成員的代碼不能訪問任何私有方

53、法或變量。使用 private 訪問修飾符的主要目的是隱藏?cái)?shù)據(jù)。3、 protected (保護(hù)):類的protected成員可以被該類的成員以及其子類的成員訪問。它還 可以被同一個(gè)包內(nèi)其他類的成員訪問。4、 (default):還有一種缺?。╠efault)情況,就是類成員什么修飾符也沒有的時(shí)候,只有它本身的類和在同一個(gè)包的類里可以訪問它 。位置privatedefaultprotected public同一個(gè)類是是 是 是同一個(gè)包內(nèi)的類 否 是 是是不同包內(nèi)的子類 否 否 是是不同包并且不是子類否 否 否 是方法修飾符static 修飾符: 方法被 static 后這個(gè)方法就是類的了, 只

54、能通過類調(diào)用。 靜態(tài)的方法只能使用 靜態(tài)的東西。方法聲明為靜態(tài)時(shí)具有某些限制,具體內(nèi)容如下。?它們只能調(diào)用其他靜態(tài)方法。?它們必須只訪問靜態(tài)數(shù)據(jù)。?不能使用關(guān)鍵字this 或 super。final 修飾符:有時(shí)候程序員可能需要定義一個(gè)不會(huì)改變的類成員。 final 修飾符可應(yīng)用于類、 方法和變量。Final 可用于類:不能被繼承了方法:不能重寫。但它的值可以更改。屬性:變成常量。abstract 修飾符:父類中的某些方法不包含任何邏輯,并且需要由子類重寫。在這種情況下,應(yīng)該使用關(guān)鍵字abstract 來聲明父類中的方法。 子類提供這種 abstract 方法的實(shí)現(xiàn)細(xì)節(jié),而父類僅提供此方法的名

55、稱和聲明,沒有方法的主體。因此子類應(yīng)負(fù)責(zé)重寫此方法。語法為:abstract type methodname( parameter list ) ;只有方法沒有方法體就是抽象方法。前面必須要加abstract。類中出現(xiàn)了抽象方法,則該類為抽象類 。抽象方法未必有抽象方法。抽象類不能實(shí)例化對(duì)象。被繼承的子類一般要實(shí)現(xiàn)所有抽象方法。 抽象父類和抽象子類可以有含有方法體的方法, 但是也不能實(shí)例化,可以通過抽象子類的子類來實(shí)現(xiàn)抽象父類和抽象子類。接口所有方法都必須抽象。接口定義和類定義類似, 在 Java 中要定義一個(gè)接口,是通過 interface 關(guān)鍵字 。接口里可以聲明一些方法和常量。語法:public interface firstInterface接口的實(shí)現(xiàn)和使用:implements 。語法:public class InterfaceDemo implements MyInterface創(chuàng)建接口時(shí)必須牢記以下幾點(diǎn):?接口中的所有方法必須是public 類型或默認(rèn)類型

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論