版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、java考試重點復(fù)習(xí) 第一章java概述1. java如何實現(xiàn)跨平臺?通過java虛擬機jvm來實現(xiàn)跨平臺,先將java源程序編譯成字節(jié)碼 (后綴為.class的代 碼),字節(jié)碼可以在java虛擬機上運行,不同的平臺有不同的 java虛擬機jvm ,相同的 字節(jié)碼可以不同的平臺上運行。2. java開發(fā)的三個平臺是什么?j2se、j2ee 和 j2me3. 如何編譯與運行java程序?test.java在dos命令提示符狀態(tài)下通過命令行來實現(xiàn)的。例如: test.class output javacjava如果用命令行運行 test的話,后面不可以寫.class ”,若寫成test.class
2、 系統(tǒng)會把class 當(dāng)成類名test當(dāng)成類包,所以在沒有類包的情況下不要寫成“ .class ”形式。第二章java基礎(chǔ)1 .什么是標(biāo)識符?如何定義標(biāo)識符?標(biāo)識符是用來標(biāo)識變量、常量、方法、類、對象等元素的有效字符序列。java語言規(guī)定標(biāo)識符由字母、下劃線、美元符號和數(shù)字等組成,并且第一個字符不能是數(shù)字。對標(biāo)識符的約定:(1)變量名、對象名、方法名、報名等標(biāo)識符全部采用小寫字母;如果標(biāo)識符由多個單詞構(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)單精度浮點數(shù)(float)i雙雙精度浮點數(shù)(double )布爾(boolean)(基本數(shù)據(jù)類型 */定點類型數(shù)值類型 hello55 ”=與 equals的區(qū)另k比較對象是否相等的方法是=和equals”,在采用equals”進行比較時不會出現(xiàn)問題,=比較引用變量的值,equals”(對象:內(nèi)存里整塊存儲的東西,對象變量 string s1 s1即為對象變量)比較的是對
4、象里的內(nèi)容,故比較時應(yīng)該比較對象里面所包含的內(nèi)容而不是對 象變量。第六、七、八章1 .什么是類?類的成員組成 ?接口是否為類的成員?類就是將我們自然界中的事物的屬性特點和行為特點抽象封裝到類當(dāng)中,反映這類事物的特點和功能。類的成員包括域變量和成員方法,對于域變量和成員方法都可以用static來修飾,static修飾的域變量稱為類變量,static修飾的方法稱為類方法,沒有被 static修飾的域變量和成員方法稱為實例變量(可以在程序中直接調(diào)用)和實例方法。接口不是類的成員,是一種特殊的類,不用class,而用interface o2 .關(guān)于類的正確表述?必須依照類的寫法,如何定義3 .什么是靜
5、態(tài)域變量和實例域變量,靜態(tài)方法和實例方法?靜態(tài)域變量稱為類變量,靜態(tài)方法也稱為類方法,因為它們可以通過“類名.”來調(diào)用。4 .什么是對象?如何創(chuàng)建對象?什么是對象變量?如何對對象進行初始化?對象是類的一個實例。new在創(chuàng)建對象的作用:(1)通過new在堆上開辟一個對象空間,將類當(dāng)中的域變量跟成員方法復(fù)制到對象空間當(dāng)中;(2)通過new來調(diào)用構(gòu)造方法來初始化對象;(3)將對象空間的首地址賦值給對象變量。對象變量就是指對象的首地址,通過 構(gòu)造方法對對象進行初始化。5 .什么是構(gòu)造方法?構(gòu)造方法的特點與作用?構(gòu)造方法:(1)在一個類中方法名與類名相同的方法;(2)構(gòu)造方法不是通過對象來調(diào)用,而是通過
6、new運算符來調(diào)用;(3)構(gòu)造方法是一種特殊的成員方法,它沒有返回值。構(gòu)造方法特點:可以被重載,當(dāng)沒有在類中定義構(gòu)造方法時,系統(tǒng)會默認(rèn)提供一個不帶參數(shù)的構(gòu)造方法。作用:初始化對象。6 . super和this關(guān)鍵字的用法?this用在當(dāng)前類,當(dāng)前類的一個默認(rèn)的對象,可以通過 this來調(diào)用當(dāng)前類的屬性和成員方法,也可以直接調(diào)用當(dāng)前類的構(gòu)造方法的重載方法。super用于一個類的子類中,作為父類在子類中的一個默認(rèn)的對象,通過它來調(diào)用父類的成員屬性和成員方法,也可以在子類的構(gòu)造方法里直接調(diào)用父類的構(gòu)造方法。7inal修飾類、變量和方法時各有什么特點?修飾類:這個類不能夠被繼承。修飾變量:這個變量值不
7、能改變,成為一個常量。修飾方法:這個方法不能被覆蓋。8 .面向?qū)ο缶幊讨校琷ava類的三個主要特征是?三個主要特征:封裝性、繼承性和多態(tài)性封裝性:通過類的訪問修飾符來實現(xiàn)封裝性的public, protected,缺省,private的訪問權(quán)限繼承性:extends 一個類繼承了另一個類,那么父類的所有成員屬性和成員方法都可以被繼承到子類當(dāng)中,子類也可以創(chuàng)建新的成員屬性和成員方法(現(xiàn)有的類創(chuàng)建新的類的特性) super多態(tài)性:靜態(tài)多態(tài)性,如:重載函數(shù)。動態(tài)多態(tài)性,如:覆蓋函數(shù)。重載(overload): 一個類中可以定義多個名稱相同,但參數(shù)變量不同的方法,重載方法與 返回類型無關(guān),重載方法常常
8、用于構(gòu)造方法,用于實現(xiàn)不同功能的初始化工作,重載 也稱為靜態(tài)多態(tài)性,這是由于該方法被調(diào)用時采用靜態(tài)地址充定位方式。覆蓋(override):在子類中對父類的某方法進行了重新定義,但方法的簽名特征與父親完 全一致,訪問修飾符的訪問的限制寬于或至少等于父類的訪問權(quán)限;主要用于實現(xiàn)同 一個方法在不同的類中實現(xiàn)不同的表現(xiàn)形式,覆蓋也稱為動態(tài)多態(tài)性,這是由于該方 法只有在運行時才能確定所調(diào)用的地址(也是多態(tài)性)。9 .什么是抽象類?什么是抽象方法?抽象類的特點?在類中至少有一個方法是抽象方法,那么這個類就稱為抽象類,用abstract來修飾抽象類。抽象方法即沒有定義這個方法的主體,給出這個方法的簽名特征
9、。特點:抽象類的對象變量是通過它的非抽象的子類來初始化的。如:animal t=new tiger () 里的方法都是抽象方法, 修飾符為public ,沒有寫默認(rèn)為public 抽象類非抽象類10 .什么是接口?接口的特點?接口的作用?接口是使用interface關(guān)鍵字來代替class的特殊的類。接口的三種形式:(1)僅有常量接口; (2)常量和抽象方法接口( 3)僅有抽象方法接口。作用:(1)可以實現(xiàn)常量接口在多個類當(dāng)中共享常量;(2)實現(xiàn)共享一組標(biāo)準(zhǔn)操作來實現(xiàn)多個類之間的共享約定;(3)實現(xiàn)多態(tài)性。11 .接口與抽象類的區(qū)別?接口中所有的方法都是抽象方法,不管這個方法是否使用public
10、 , abstract修飾,它都是默認(rèn)的公有的抽象方法, 抽象類至少有一個抽象方法, 而且還有一個成員方法, 接口中不 能定義構(gòu)造方法,抽象類可以定義構(gòu)造方法。12 .什么是包?包的作用?包是java語言提供的組織類和接口的工具,將一組相關(guān)的類為接口,組織到一個包中。作用:(1)通過包可以來確定類的唯一標(biāo)識;(2)通過包可以將相似功能的類和接口組織在一個包中。第九章1 .什么是異常?為什么要處理異常?異常是指程序運行過程中出現(xiàn)的非正?,F(xiàn)象。由于異常情況總是難免的,良好的應(yīng)用程序除了具備用戶所要求的基本功能外,還應(yīng)該具備預(yù)見并處理可發(fā)生的各種異常的功能。2 .異常的基本處理方式?常用的異常類有哪
11、些?兩種處理方式:(1) 一旦捕獲異常馬上進行處理。try, catch, finally(2)捕獲異常并不處理,而是利用方法將異常拋出,throw, throws3 . error 和 exception 類的區(qū)別?error是用來處理較少發(fā)生的系統(tǒng)內(nèi)部的錯誤,程序員對這些錯誤通常無能為力,只能在發(fā)生時由用戶按照提示來終止程序的運行。4 . throw和throws語句的區(qū)另1j?throw 是拋出一個異常對象,如: throw new xxx exceptionthrows是某一個方法在聲明和定義時,這個方法后面緊跟著throws,然后闡明這個方法可能拋出異常,如:throws new x
12、xx exception 這個異??梢允菢?biāo)準(zhǔn)異常類,也可以是 自定義的異常類。第十章1. java輸入輸出的基本方式?主要是通過輸入和輸出流實現(xiàn)的,輸入流將數(shù)據(jù)從文件標(biāo)準(zhǔn)輸出或其他外部設(shè)備輸入, 輸出流將數(shù)據(jù)保存到文件或傳輸給相關(guān)的設(shè)備。2 .字符流域字節(jié)流的區(qū)別是什么?舉例說明哪些類處理字符流?哪些處理字節(jié)流?如果字 節(jié)流向字符流進行轉(zhuǎn)換需要用什么類?字節(jié)流是以字節(jié)為單位的訪問文件,字節(jié)流具有兩個重要的抽象類,“input stream和output stream。字符流是以字符為單位的訪問文件,兩個重要的抽象類,“reader和writer。橋接類在定義字節(jié)流時,由于任何字節(jié)流的類都跟著一
13、個stream,字符流的類后綴reader,writer o 橋接類: 跟著 inputstream reader 和 outputstream writer o3 .為什么需要使用帶有緩沖的輸入輸出流進行數(shù)據(jù)的讀取與寫入?提高運行效率,對字符而言,為 buffer reader,對字節(jié)而言, buffer input stream 如: buffer reader new=buffer reader ()第十一、十二章1 . javagui編程需要導(dǎo)入哪些包? .awt* , .swing* , .event*2 .什么是組件?什么是容器?哪些是頂層容器?哪些是中間容器? 組件是圖形用戶界面
14、是哪個現(xiàn)實的各種圖形基本成分和核心元素。容器是可以包含其他組件的組件,容器是組件的一種。頂層容器:jframe, jdialog , japplet (用于布局其他容器與組件的最基本容器)中間容器:jpanel, jscrollpane, jtabbedpane, jtoolbar最靈活最常用的中間容器3 .什么是布局管理器?作用是什么?說出三種布局管理器及其特點。布局管理器是用來管理各種組件容器中擺放位置的對象;作用是將組件房子相應(yīng)的位置,使容器中的組件安排更加合理,減少與系統(tǒng)平臺的相關(guān)性;borderlayout (邊布局)類:把容器內(nèi)的空間劃分為東、西、南、北、中五個區(qū)域; flowla
15、yout (流式布局)類: 從左到右排列;gridlayout (網(wǎng)格布局)類:從左到右從上到下的順序依次放入各網(wǎng)格 中(沒個網(wǎng)格只能放一個組件)4 .什么是事件? java如何處理用戶的操作?事件:當(dāng)用戶用鍵盤或鼠標(biāo)來進行操作時,操作系統(tǒng)發(fā)出的相應(yīng)的信號。事件源:用戶在操作過程中所使用的相關(guān)組件。通過事件驅(qū)動模型來處理用戶操作的。5 .列出常用的時間監(jiān)聽器接口及其方法。actionlistener adjustmentlistener focuslistener itemlistenerkeylistener按下那個鍵actionperformed () adjustmentvaluecha
16、nge () focuslost () focusgained () itemstatechange ()keypressed ()正按下那個鍵還沒有彈起keytyped ()已經(jīng)mouselistener57java編程復(fù)習(xí)總結(jié)筆記一1 安裝jdk時不要默認(rèn)安裝到j(luò)ava.因為program file小間有空格,會而下安裝的相關(guān) 軟件的運行。所以,最好默認(rèn)安裝到j(luò)dk.中。2 eclipse也是java寫的3 java最關(guān)鍵兩種機制:垃圾收集和虛擬機4 sdk: software development kitjre:java runtime environment5 solaris6 配置
17、 path&classpath1) path: windows系統(tǒng)執(zhí)行命令時要搜索的路徑所以,javac其實是執(zhí)行了 windows下面的一個可執(zhí)行文件:c:jdk5.0bin下面的javac.exe命令.windows執(zhí)行時會到一個叫 path的環(huán)境變量下去找。2) classpath: java在編譯和運行時要找的class所在的路徑.;當(dāng)前目錄下執(zhí)行,一定要寫在最前面。c:test test目錄下執(zhí)行7 ultraedit-32出現(xiàn)#.java.bak文件,是ultraedit自動添加的.高級一配置文件處理-ol:選擇不備份就可以了8 本質(zhì)上講,變量其實是內(nèi)存中的一小塊區(qū)域,使用變量名來
18、訪問這塊區(qū)域因此,變量必須先聲明(先把這塊內(nèi)存給我分配了),后賦值(填內(nèi)容),才能使用。9 內(nèi)存管理:heap:動態(tài)生成內(nèi)存用的,即 new出來的東西stack:局部變量data segment:靜態(tài)變量字符串常量code segment:存放代碼10 java變量的分類:1 ) 按被聲明的位置局部變量:方法或語句塊內(nèi)部聲明的成員變量:(不是c+的全局變量)方法體外,類體的內(nèi)部聲明的11 java采用unicode編碼,unicode是全球語言統(tǒng)一編碼12 8位表示1個字節(jié),2個字節(jié)表示1個字符。(1個字節(jié)最多表示2的8次方個符號,所以用來表示中文,日文一個字節(jié)不夠用,所以立 有國標(biāo)碼:gb2
19、312)13 boolean 只能是 true 和 false.1 byte: 一個字節(jié) short:二個字節(jié) int:四個字節(jié) long :八個字節(jié)2 八進制要求以0開頭,如012十六進制要求以 0x或0x開頭,如0x123 編程格式:1) 右大括號對齊2) 遇到左大括號tab鍵(或者shift+tab)縮進3) 程序塊之間加空行4) 并排語句之間加空格5) 運算符兩邊加空格6) 成對編程7) 前面有空格4 運算符/ :除 :求余5 void catchdog (dog d) d.scream();)6 jdk本身就提供了很多類,比如string7 引用變量相關(guān)知識點:java里除了基本類型
20、(四類八種)之外的變量都叫引用類型 java中的對象是通過引用對其操作的。引用分配的是兩塊內(nèi)存:string s;先在內(nèi)存中占 null ,在stack內(nèi)存中s = new string( hi 定了實際分配內(nèi)存,s指向了在heap內(nèi)存中中new出的對象類的成員變量在不同的對象中有不同的值但方法只有一份,不占內(nèi)存,只是一堆代碼。只有在執(zhí)行的時候才占內(nèi)存。8 使用對象(引用).成員變量使用對象(引用).方法來調(diào)對象的方法。9 構(gòu)造方法與類同名且沒有返回值,而其他的方法必須要有返回值,沒有 int double的時候必須也要有 void.10 person jyang = new person(1
21、,3);的時候,注意類person帶了參數(shù),說明不是編譯器自動添加的構(gòu)造函數(shù)了,這說明已經(jīng)重載的構(gòu)造方法。如果沒有重載的話, 應(yīng)該是 person jyang = new person。;11約定俗成的命名規(guī)則:1)類名的首字母大寫2)變量名和方法名的首字母小寫3) 駝峰標(biāo)識1 static1 ) static的成員變量只有一份,不像其他的成員變量只要new 一個對象就有一份。2 ) 在調(diào)用static方法時,不會將對象的引用傳遞給它!static方法中不能訪問非static成員,即靜態(tài)方法不再是針對某個對象調(diào)用,所以不能訪問非靜態(tài)方法。3)可以通過對象引用或類名(不需要實例化)訪問靜態(tài)成員。
22、3 第一句話寫 package訪問位于同一個包下面的類不需要引入4 java.lang 包含些 java 的核心類,如 string,math,integer,system 和 thread,提供常 用功能。java.awt包含了構(gòu)成抽象窗口工具集(abstract window toolkits)的多個類,用來構(gòu)建gui。java.applet包含applet運行所需的一些類。j包含執(zhí)行與網(wǎng)絡(luò)相關(guān)的操作的類。java.iojava.util包含一些實用工具類,如定義系統(tǒng)特性,使用與日期日歷相關(guān)的函數(shù)。5 jar cvf xx.jar *.*6 private類內(nèi)部訪問,即使是子類繼承了也不能
23、用。default類內(nèi)部,同一個包內(nèi)的其它類也可以訪問protected類內(nèi)部。同一個包可以訪問或者不是這個包但是子類也可以public任何地方都可以7 extends通過繼承,子類自動擁有了基類的所有成員變量和方法。8 java只支持單繼承,一個子類只能有一個基類,但一個基類可有派生出多個子類9 重寫:override在子類中可以根據(jù)需要從基類中繼承來的方法進行重寫。重寫方法必須和被重寫的方法具有相同的方法名稱,參數(shù)列表和返回類型重寫方法不能使用比被重寫方法更嚴(yán)格的訪問權(quán)限重載:一個類中的。10 java類中使用super來引用基類成分,this是當(dāng)前對象的引用(this.#), super
24、是父類對象的引用 (super.#)。1繼承中構(gòu)造方法的規(guī)則1) 子類的構(gòu)造的過程中必須調(diào)用其基類的構(gòu)造方法,即構(gòu)造子類的時候必須先構(gòu)造好基類(沒有父親的存在哪有兒子的存在)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)造方法(此時,如果基類構(gòu)造方法重載,這時沒有寫無參數(shù)的構(gòu)造方法,編譯器沒有默認(rèn)構(gòu)造方法,則出錯)3) object 類1) java.lang中的類,是所有java類的根基類2) 類的聲明中未使用extends關(guān)鍵字指明其
25、基類,則默認(rèn)為從 objects繼承3) finalize。:類似c+的析構(gòu)函數(shù),在java中垃圾回收器幫忙自動調(diào)用這個方法。clone():getclass():與反射有關(guān),返回一個對象運行時的類tostring():1) object類中定義有public string tostring (),其返回值是string類型,描述當(dāng)前對象的有 關(guān)信息。2) 在進行string與其它類型數(shù)據(jù)的連接操作時(如:system.out.println( info +persion),將自動調(diào)用該對象類的tostring()方法3) 可以根據(jù)需要在用戶自定義類型中重寫public string tost
26、ring ()方法。system.out.println(b);(b 是一個 new 出的對象)4) 重寫要copy!如果重寫成public string tostring(),編譯沒問題,但運行不行。equals():加s第三人稱。1) system.out.println(c1 = c2)結(jié)果為 falsesystem.out.println(c1.equals(c2);結(jié)果為false.這是最原始的 equals方法,所以結(jié)果換湯不換藥,和上面的一樣。因為比較的兩個貓的引用,內(nèi)存地址不等,永遠(yuǎn)不等。2)所以需要重寫equals()方法:public boolean equals(obje
27、ct obj)if(obj instanceof cat)/ 如果 obj 屬于一只貓cat c = (cat) obj; 強制轉(zhuǎn)換 object 為一只貓3) object類中的string類data類等都已經(jīng)重寫了equals方法。1) 基類的引用類型變量可以指向其子類的對象2) 基類的引用不可以訪問其子類對象新增加的成員(屬性和方法)如: 基類 animal a = new dog(); a 不能訪問 dog的新增成員。3) 可以使用引用變量instanceof類名來判斷該引用型變量所指向的對象是否屬于該類或該類的子類 (如: a instanceof dog)4) 子類的對象可以當(dāng)作基
28、類的對象來使用稱作向上轉(zhuǎn)型(upcasting),反之稱為向下轉(zhuǎn)型(downcasting)需強制轉(zhuǎn)換。5) dog d1 = (dog) a;把動物a強制轉(zhuǎn)換成一只狗。1抽象修飾符可以修飾抽象類和抽象方法。凡是用抽象修飾符修飾的類被稱為抽象類。 抽象類就是沒有具體對象的概念類。 由于抽象類是它的所有子類的公共屬性的集合。例:abstractabstract修飾的抽象方法是一種僅有方abstract void phonecard;可見 abstract 方class phonecard表示電話卡類所有公共屬性。修飾符 法頭,而沒有具體的方法體和模塊實現(xiàn)的方法。例: 法只有方法頭的聲明,后面沒有
29、大括號包含的方法體。static修飾符修飾僅屬于類的域,它 是一個公共的存儲單元,任何一個對象2靜態(tài)修飾符使用在靜態(tài)域和靜態(tài)方法中,靜態(tài)域是用 們是類的域,不屬于任何一個類的具體對象,靜態(tài)域訪問它時,取到的都是相同的數(shù)值。例:set addtory ():static void setadditory (double newadd) if ( newadd 0 )additoryfee = newadd ; / additoryfee 為靜態(tài)域。2.什么是構(gòu)造函數(shù)?構(gòu)造函數(shù)有什么特點?子類如何調(diào)用父類?1構(gòu)造函數(shù):構(gòu)造函數(shù)用來處理對象的初始化。它是一種特殊的成員函數(shù)。構(gòu)造函數(shù)名必須與類名相同,
30、它不具有任何類型,不返回任何值。2構(gòu)造函數(shù)的特點:a可以為對象的屬性賦初值,還可以在對象初始化過程中進行必要的檢查和處理。b提高了編程的靈活性。3子類調(diào)用父類:a如果子類沒有定義任何函數(shù),那么就在創(chuàng)建子類對象時將調(diào)用父類的無參數(shù)的構(gòu)造函數(shù) b如果子類自己定義了構(gòu)造函數(shù),則在創(chuàng)建子類對象時,系統(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ù)的第一個可執(zhí)行語句。3.如何定義數(shù)組,如何開辟數(shù)組空間?1 聲明數(shù)組:聲
31、明數(shù)組主要是聲明數(shù)組的名稱和數(shù)組所包含的元素的數(shù)據(jù)類型或元素的類名。 數(shù)組元素類型數(shù)組名 ;或 數(shù)組元素類型 數(shù)組名;例: int myintarray ;或 d200_card arrayof200card; / 類也可以當(dāng)作一個基本數(shù)據(jù)類型使用2 開辟數(shù)組空間:數(shù)組名 = new 數(shù)組元素類型數(shù)組元素的個數(shù) ;3 : int myintarray = new int 10;d200_card arrayof200card = new d200_card 154 .用內(nèi)部類和當(dāng)前類如何實現(xiàn)監(jiān)聽者?內(nèi)部類:public class test extends appletbutton bt;pu
32、blic void init ( ) bt = new button ( 計算 );add (bt);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 = ne
33、w button( 計算 ) add(bt);public viod actionperformed (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: 每行的對齊方式: lgft,center,
34、righthgap:橫向間距(單位是像素)vgap: 縱向間距(單位是像素)2 flowlayout(int align) 橫縱向間距固定為 5 個像素。2 borderlayout 布局:組件按北南 東 西幾個位置排列,規(guī)定各組件間的橫縱距都為0;其他都如 1 中使用3 grrdlayout: 以行和列的網(wǎng)絡(luò)形式或安排組件指定化分網(wǎng)格: setlayout (new girdlayout( 行數(shù) 列數(shù) ) ) ;加入一個空的標(biāo)簽: add(newlable( ) )4 cardlayout: 每一個組件為一個卡片 容器僅顯示其中一張卡片a 創(chuàng)造對象: mycard =new cardlayo
35、ut ( )b 指定布局屬性: setlayout(mycard)c加入組件:add(字符串,組件);d 顯示:show (容器名,字符串);此外:first(容器名):顯示第一個組件last(容器名):顯示最后一個組件previous(容器名):顯示前一個組件next(容器名):顯示下一個組件。6 .簡述java 事件的處理機制7 .什么是容器組件?(ponel 與 frame 的擴展)ponel 與容器事件: ponel 屬于無邊框容器。 ponel 是 container 的子類。它是最簡單的容器,它沒有邊框或其他可視邊界,不能被移動,放大縮小或關(guān)閉。ponel 總是作為一個容器組件被加
36、入列其他的容器中, ponel 也可以包含另一個ponelframe 可以作為一個application 的最外層容器,也可以被其他容器創(chuàng)建并彈出成為獨立的容器,frame 容器的方法有:1 gettitle( ) 和 settitle(string) 2 setvisible(boolean) 方法 3 dispose ( )方法8.string 類的構(gòu)造函數(shù)及其使用方法1 public string ( )這個構(gòu)造函數(shù)用來創(chuàng)建一個空的字符串常量2 public string( sting value)利用一個已經(jīng)存在的字符串常量創(chuàng)建一個新的 string 對象, 該對象的內(nèi)容與給出的字符串
37、常量一致。3 public string(string buffer buffer)利用一個已經(jīng)存在的 string buffer 對象為新建的 string 對象初始化4 public string (char value )利用已經(jīng)存在的字符數(shù)組的內(nèi)容初始化新建的 string 對象java 的開發(fā)環(huán)境( 1 ) 、 bin 目錄:存放可執(zhí)行文件。( 2 ) 、 lib 目錄:存放java 的類庫文件。( 3 ) 、 demo 目錄:存放演示程序。4 ) 、 jre 目錄:存放java 運行環(huán)境變量。配置環(huán)境:用戶變量是針對某一個用戶的,而系統(tǒng)變量是針對整個電腦的。要加兩個路徑: ( 1
38、) 、 path 加 bin 路徑;并以分號隔開。( 2) 、 classpath 加 .; lib 的路徑。java 數(shù)據(jù)類型分兩個類別:( 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) 、 接口 :一個抽象類,其創(chuàng)建目的是為了實現(xiàn)java 中的多重繼承。變量的作用域和生命周期變量在作用域內(nèi)為局部變量,所以在其作用域外不能使用 .作用域可以嵌套。類型轉(zhuǎn)換
39、1、自動類型轉(zhuǎn)換:1 ) 、兩種類型必須兼容2 ) 、目標(biāo)類型大于源類型。2、強制類型轉(zhuǎn)換3、類型提升規(guī)則賦值運算符:可以將單個語句中賦給多個變量。從右向左執(zhí)行。例: p = q = r = s = num.邏輯運算符:a:邏輯異 :如兩個值一樣就為假.條件運算符語法:expression1 ? expression2 : expression3java 源文件的名與公共類名一樣包括大小寫源文件最多有一個公共類,源文件可以沒有公共類,此時源文件名可以隨意。數(shù)組僅聲明: 例: datetype identifier聲明和創(chuàng)建: 例: datatype ident ifier = new date
40、typesize;聲明、創(chuàng)建和初始化:例:datetype identifier=value1,value2, .valuen;命令行參數(shù)args.length :能得到數(shù)組的長度??梢栽诿钚兄苯觽鲾?shù)值給main()方法的string類型的數(shù)組args。對象:是存在的具體實體,具有明確定義的狀態(tài)和行為。消息傳遞:本質(zhì)上就是方法的調(diào)用(?)消息:指一個對象為執(zhí)行特定操作而向另一個對象發(fā)送的請求。類類:是具有相同屬性和共同行為的一組對象的集合。類的屬性:對象或?qū)嶓w擁有的特征在類中表示時成為屬性。對象執(zhí)行的操作稱為方法。類和對象的區(qū)別類是用來描述實體的“模板“或”原型“,而對象是實際的實體。封裝隱
41、藏屬性、方法或?qū)崿F(xiàn)的詳細(xì)信息的處理方式稱為封裝。抽象它是指只關(guān)注對象的重要細(xì)節(jié),而忽略對象的次要細(xì)節(jié)。通過抽象簡化軟件的復(fù)雜性。抽象分: ( 1) 、數(shù)據(jù)上的抽象( 2) 、過程上的抽象。將實體的相關(guān)屬性和操作根據(jù)特定的應(yīng)用程序進行標(biāo)識和分組的過程就是數(shù)據(jù)抽象。在 java 中實現(xiàn)類語法如下:class 類中的方法語法:(,.)調(diào)用方法類似于調(diào)用或引用實例變量。 方法可是使用點操作符來訪問。 方法被調(diào)用的對象在圓點左邊,而方法的名稱在圓點右邊。例如:obj . isavailable();構(gòu)造方法例:pixel p = new pixel();pixel() :是類中的構(gòu)造方法。是 new 出
42、來的東西都是引用類型。構(gòu)造方法是只要在創(chuàng)建給定類的實例時就調(diào)用的一個方法。 它們與類同名, 但不具備任何返回類型。構(gòu)造方法的特點: ( 1) 、跟類名相同。( 2 ) 、沒有任何返回值。( 3 ) 、構(gòu)造方法只能用 new 來調(diào)。( 4 ) 、構(gòu)造方法一般不只一個,就構(gòu)成了重載。構(gòu)造方法類型: ( 1 ) 、參數(shù)化構(gòu)造方法。( 2 ) 、隱式/默認(rèn)構(gòu)造方法。當(dāng)一個類未定義構(gòu)造方法時,java虛擬機(jvm)便提供一個默認(rèn)構(gòu)造方法,它不帶任何參數(shù),其主體不含任何語句,這種構(gòu)造方法稱為隱式構(gòu)造方法。 類中聲明構(gòu)造方法, 類不會再自動添加了.包主要用途:1 、包允許將類合成為較小的單元,使其易于中找
43、到和使用相應(yīng)的類文件。2、有助于避免命令沖突。創(chuàng)建包: package pkg;創(chuàng)建包前面一般加上公司的域名例如:package cn.qingdao.s1t23;自動使用包名創(chuàng)建一個文件,并自動將。 class 文件存放在此文件夾中。例:javac - d c:java calculate.java導(dǎo)入包: import package_name.*;如果使用的類是來自不同的包,且沒有使用 import 語句導(dǎo)入該包,則需要在代碼中指明使用類隸屬的包。 方法是使用“.”來訪問中的成員。例如:mypackage.calculate calc=new mypackage.calculate();
44、知識擴展:課后作業(yè)題 2、 ( 1) 、兩個類建在一個文檔下面執(zhí)行的時候問什麼不成功?解:不能進入包中運行類。 運行的方法是在包外加包前綴運行 。例:java parent.child.parenttest( 2) 、用點星導(dǎo)進所有類問什麼出現(xiàn)錯誤?解:是因為 java 程序錯把 .java 源文件當(dāng)成.class 字節(jié)碼,而無法編譯。只需把源程序提出包就可以了。面向?qū)ο蟮奶攸c: ( 1) 、封裝。 ( 2 ) 、繼承。 ( 3) 、多態(tài).繼承主要有點:代碼的可重用性。使用關(guān)鍵字extends 來繼承類。一個類一經(jīng)定義和調(diào)試,便可以用來創(chuàng)建新的子類的對象中,子類car、ship和plane具有
45、與父類相同的屬性和方法。子類構(gòu)造方法構(gòu)造方法用于初始化特定類型的對象并分配內(nèi)存, 構(gòu)造方法的名稱與類名相同 。 創(chuàng)建對象時會自動調(diào)用構(gòu)造方法。 類似地, 子類的構(gòu)造方法的名稱也與子類名相同, 創(chuàng)建子類的對象時將調(diào)用此構(gòu)造方法。需要注意的是, 子類永遠(yuǎn)不會繼承父類的構(gòu)造方法除了構(gòu)造方法之外,父類的所有方法和屬性都由子類的對象繼承。 創(chuàng)建子類的對象時, 它將會包含父類的所有方法和屬性。 父類的值應(yīng)該正確地初始化, 這一點非常重要。 子類構(gòu)造方法可以調(diào)用父類構(gòu)造方法。需要注意的是,父類構(gòu)造方法的調(diào)用總是先于子類構(gòu)造方法的調(diào)用。另一方面,通過使用關(guān)鍵字 super,程序員還可以從子類構(gòu)造方法中調(diào)用父類
46、中默認(rèn)構(gòu)造方法或或帶參數(shù)的構(gòu)造方法。 調(diào)用父類調(diào)用父類構(gòu)造方法的語句應(yīng)該為子類構(gòu)造方法中的第一個語句這是因為父類先于子類存在 。例 :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)子類中的方法與其父類中的方法具有相同的方法時, 則認(rèn)為子類中的方法重寫了父類中的方法。 從子類中調(diào)用重寫方法時, 將總是調(diào)用出項在子類中的方法,而父類中的方法將被隱藏。多態(tài)性: 一個子類有自己的屬性,又有父類的屬性。這
47、種狀態(tài)叫多態(tài)性。super : ( 1) 、子類的構(gòu)造方法可用來調(diào)用父類的構(gòu)造方法。( 2) 、調(diào)用已被重寫的父類的方法(可以不是第一句) 。訪問修飾符1、 public (公有) :類的 public 成員可以被該類的成員和非該類的成員訪問。可應(yīng)用于: 類、方法、屬性。2、 private (私有) :類的 private 成員只能被該類的成員訪問,任何非該類成員的代碼不能訪問任何私有方法或變量。使用 private 訪問修飾符的主要目的是隱藏數(shù)據(jù)。3、 protected (保護):類的protected成員可以被該類的成員以及其子類的成員訪問。它還 可以被同一個包內(nèi)其他類的成員訪問。4、
48、 (default):還有一種缺省(default)情況,就是類成員什么修飾符也沒有的時候,只有它本身的類和在同一個包的類里可以訪問它 。位置privatedefaultprotected public同一個類是是 是 是同一個包內(nèi)的類 否 是 是是不同包內(nèi)的子類 否 否 是是不同包并且不是子類否 否 否 是方法修飾符static 修飾符: 方法被 static 后這個方法就是類的了, 只能通過類調(diào)用。 靜態(tài)的方法只能使用 靜態(tài)的東西。方法聲明為靜態(tài)時具有某些限制,具體內(nèi)容如下。?它們只能調(diào)用其他靜態(tài)方法。?它們必須只訪問靜態(tài)數(shù)據(jù)。?不能使用關(guān)鍵字this 或 super。final 修飾符:
49、有時候程序員可能需要定義一個不會改變的類成員。 final 修飾符可應(yīng)用于類、 方法和變量。final 可用于類:不能被繼承了方法:不能重寫。但它的值可以更改。屬性:變成常量。abstract 修飾符:父類中的某些方法不包含任何邏輯,并且需要由子類重寫。在這種情況下,應(yīng)該使用關(guān)鍵字abstract 來聲明父類中的方法。 子類提供這種 abstract 方法的實現(xiàn)細(xì)節(jié),而父類僅提供此方法的名稱和聲明,沒有方法的主體。因此子類應(yīng)負(fù)責(zé)重寫此方法。語法為:abstract type methodname( parameter list ) ;只有方法沒有方法體就是抽象方法。前面必須要加abstract
50、。類中出現(xiàn)了抽象方法,則該類為抽象類 。抽象方法未必有抽象方法。抽象類不能實例化對象。被繼承的子類一般要實現(xiàn)所有抽象方法。 抽象父類和抽象子類可以有含有方法體的方法, 但是也不能實例化,可以通過抽象子類的子類來實現(xiàn)抽象父類和抽象子類。接口所有方法都必須抽象。接口定義和類定義類似, 在 java 中要定義一個接口,是通過 interface 關(guān)鍵字 。接口里可以聲明一些方法和常量。語法:public interface firstinterface接口的實現(xiàn)和使用:implements 。語法:public class interfacedemo implements myinterface創(chuàng)建接口時必須牢記以下幾點:?接口中的所有方法必須是public 類型或默認(rèn)類型。?方法僅僅是聲明在運行時發(fā)生的錯誤就稱為“異常” ,在運行時跟蹤這些異常被稱為“異常處理” 。try :監(jiān)控異常的程序語句包含在 try 塊中。catch :程序員可以捕獲異常并以某種合理的方式來處理它。throw :直接拋出異常。throws :子句用于在方法聲明中拋出異常。finally :可以指定在程序結(jié)束之前必
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年消防排煙系統(tǒng)工程承攬協(xié)議細(xì)則版
- 2025版金融設(shè)備采購合同范本(含數(shù)據(jù)安全)2篇
- 2025版物流公司股份合作與優(yōu)化升級協(xié)議范本3篇
- 二零二五年國家安全領(lǐng)域人員保密責(zé)任書及保密審查合同3篇
- 2025版租賃商務(wù)辦公場所合同模板3篇
- 2025版數(shù)碼產(chǎn)品寄售代理銷售協(xié)議3篇
- 2025版現(xiàn)代化辦公場所租賃合同
- 2025年建筑園藝材料租賃與景觀設(shè)計合同3篇
- 2024年跨境電商服務(wù)協(xié)議
- 課題申報書:大模型驅(qū)動新材料研發(fā)創(chuàng)新:技術(shù)邏輯、生態(tài)重構(gòu)與治理規(guī)則
- 山東省濱州市2023-2024學(xué)年高一上學(xué)期1月期末考試 政治 含答案
- 電力行業(yè)電力調(diào)度培訓(xùn)
- 【MOOC】氣排球-東北大學(xué) 中國大學(xué)慕課MOOC答案
- 全力以赴備戰(zhàn)期末-2024-2025學(xué)年上學(xué)期備戰(zhàn)期末考試主題班會課件
- 《慶澳門回歸盼祖國統(tǒng)一》主題班會教案
- 物流公司自然災(zāi)害、突發(fā)性事件應(yīng)急預(yù)案(2篇)
- 《視頻拍攝與制作:短視頻?商品視頻?直播視頻(第2版)》-課程標(biāo)準(zhǔn)
- 公司戰(zhàn)略與風(fēng)險管理戰(zhàn)略實施
- 2024年-2025年《農(nóng)作物生產(chǎn)技術(shù)》綜合知識考試題庫及答案
- 洗衣房工作人員崗位職責(zé)培訓(xùn)
- 廣東省深圳市光明區(qū)2022-2023學(xué)年五年級上學(xué)期數(shù)學(xué)期末試卷(含答案)
評論
0/150
提交評論