版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JAVA考試重點(diǎn)復(fù)習(xí) 第一章Java概述1. Java如何實(shí)現(xiàn)跨平臺(tái)?通過(guò)Java虛擬機(jī)JVM來(lái)實(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開(kāi)發(fā)的三個(gè)平臺(tái)是什么?J2SE、J2EE 和 J2ME3. 如何編譯與運(yùn)行java程序?test.java在Dos命令提示符狀態(tài)下通過(guò)命令行來(lái)實(shí)現(xiàn)的。例如:> test.class Output javacjava如果用命令行運(yùn)行 test的話(huà),后面不可以寫(xiě)".class ”,若寫(xiě)成
2、test.class 系統(tǒng)會(huì)把class 當(dāng)成類(lèi)名test當(dāng)成類(lèi)包,所以在沒(méi)有類(lèi)包的情況下不要寫(xiě)成“ .class ”形式。第二章Java基礎(chǔ)1 .什么是標(biāo)識(shí)符?如何定義標(biāo)識(shí)符?標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)變量、常量、方法、類(lèi)、對(duì)象等元素的有效字符序列。Java語(yǔ)言規(guī)定標(biāo)識(shí)符由字母、下劃線(xiàn)、美元符號(hào)和數(shù)字等組成,并且第一個(gè)字符不能是數(shù)字。對(duì)標(biāo)識(shí)符的約定:(1)變量名、對(duì)象名、方法名、報(bào)名等標(biāo)識(shí)符全部采用小寫(xiě)字母;如果標(biāo)識(shí)符由多個(gè)單詞構(gòu)成,則首字母小寫(xiě),其后單詞的首字母大寫(xiě),其余字母小寫(xiě),如getAge。(2)類(lèi)名首字母大寫(xiě)。(3)常量名全部字母大寫(xiě)。2 .關(guān)鍵字的定義?關(guān)鍵字是由Java語(yǔ)言定義的、具有特
3、殊含義的字符序列。其首字母不能大寫(xiě)。如: this,super,, extends, if, class, instanceof3 .Java中數(shù)據(jù)類(lèi)型的結(jié)構(gòu)?字符(char)字節(jié)(byte)<短整數(shù)(short)整數(shù)(int)I長(zhǎng)整數(shù)(long)'單精度浮點(diǎn)數(shù)(float)i雙雙精度浮點(diǎn)數(shù)(double )布爾(boolean)(基本數(shù)據(jù)類(lèi)型 */定點(diǎn)類(lèi)型數(shù)值類(lèi)型<va數(shù)據(jù)類(lèi)型浮點(diǎn)類(lèi)型【引用數(shù)據(jù)類(lèi)型 彳接口數(shù)組float與double定義時(shí)的區(qū)別:float型的數(shù)要在后面要加 f,如34.5f4 .常量與變量的聲明方式?常量:final修飾符類(lèi)型標(biāo)識(shí)符 常量名=(直接)常
4、量如:final public double PAI=3.14 ;變量:修飾符類(lèi)型標(biāo)識(shí)符 變量名戶(hù)常量;如: 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(mén))6 .關(guān)于注釋的正確寫(xiě)法?/ ”單行注釋/* */ "多行注釋第三、四、五章1
5、.Java的三種基本控制結(jié)構(gòu)?順序,選擇和循環(huán)if, switch , while , for, continue 與 break 區(qū)另1J2 .數(shù)組的定義?舉例定義一個(gè)基本數(shù)據(jù)類(lèi)型的數(shù)組和一個(gè)引用數(shù)據(jù)類(lèi)型的數(shù)組。數(shù)組是一組同類(lèi)型的數(shù)據(jù)的集合,除了基本數(shù)據(jù)類(lèi)型還包括引用數(shù)據(jù)類(lèi)型,那么引用數(shù)據(jù)類(lèi)型數(shù)組是如何聲明、初始化和使用的。例:基本數(shù)據(jù)類(lèi)型數(shù)組的聲明,初始化intc=new int 5;(5表示數(shù)組的單元長(zhǎng)度是5)c0=-5;或 intc=1,2,3;c2=3;引用數(shù)據(jù)類(lèi)型數(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ù)組單元的長(zhǎng)度?int len=s.length5 .熟練掌握一維數(shù)組的聲明、初始化和操作6 .字符串的程明與初始化?常量字符串 String 字符串直接量字符串J1字符串常量可變字符串StringBuffer字符串String s= hello" hello會(huì)保存
7、在字符串值里字符串直接量String s15new string( hello");在堆上開(kāi)辟了一個(gè)新的對(duì)象空間來(lái)存放hello對(duì)象變量String s2= hello";先看字符串池里面有沒(méi)有hello ,若有則直接將s2指向那個(gè)位置String s3=new string( hello");只要有new出現(xiàn)就一定會(huì)開(kāi)辟一個(gè)新的空間。7 .字符串直接量與字符串常量的區(qū)別:存儲(chǔ)位置不一樣,字符串直接量放在字符串值里,字符串常量放在堆上。8 .常量字符串類(lèi)與可變字符串類(lèi)分別是什么?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)問(wèn)題,="比較引用變量的值,equals”(對(duì)象:內(nèi)存里整塊存儲(chǔ)的東西,對(duì)象變量 String s1 s1即為對(duì)象變量)比較的是對(duì)象里的內(nèi)容,故比較時(shí)應(yīng)該比較對(duì)象里面所包含的內(nèi)容而不是對(duì) 象變量。第六、七、八章1 .什么是類(lèi)?類(lèi)的成員組成 ?接口是否為類(lèi)的成員?類(lèi)就是將我們自然界中的事物的屬性特點(diǎn)和行為特點(diǎn)抽象封裝到類(lèi)當(dāng)中,反映這類(lèi)事物的特點(diǎn)和功能
9、。類(lèi)的成員包括域變量和成員方法,對(duì)于域變量和成員方法都可以用static來(lái)修飾,static修飾的域變量稱(chēng)為類(lèi)變量,static修飾的方法稱(chēng)為類(lèi)方法,沒(méi)有被 static修飾的域變量和成員方法稱(chēng)為實(shí)例變量(可以在程序中直接調(diào)用)和實(shí)例方法。接口不是類(lèi)的成員,是一種特殊的類(lèi),不用class,而用interface o2 .關(guān)于類(lèi)的正確表述?必須依照類(lèi)的寫(xiě)法,如何定義3 .什么是靜態(tài)域變量和實(shí)例域變量,靜態(tài)方法和實(shí)例方法?靜態(tài)域變量稱(chēng)為類(lèi)變量,靜態(tài)方法也稱(chēng)為類(lèi)方法,因?yàn)樗鼈兛梢酝ㄟ^(guò)“類(lèi)名.”來(lái)調(diào)用。4 .什么是對(duì)象?如何創(chuàng)建對(duì)象?什么是對(duì)象變量?如何對(duì)對(duì)象進(jìn)行初始化?對(duì)象是類(lèi)的一個(gè)實(shí)例。new在創(chuàng)
10、建對(duì)象的作用:(1)通過(guò)new在堆上開(kāi)辟一個(gè)對(duì)象空間,將類(lèi)當(dāng)中的域變量跟成員方法復(fù)制到對(duì)象空間當(dāng)中;(2)通過(guò)new來(lái)調(diào)用構(gòu)造方法來(lái)初始化對(duì)象;(3)將對(duì)象空間的首地址賦值給對(duì)象變量。對(duì)象變量就是指對(duì)象的首地址,通過(guò) 構(gòu)造方法對(duì)對(duì)象進(jìn)行初始化。5 .什么是構(gòu)造方法?構(gòu)造方法的特點(diǎn)與作用?構(gòu)造方法:(1)在一個(gè)類(lèi)中方法名與類(lèi)名相同的方法;(2)構(gòu)造方法不是通過(guò)對(duì)象來(lái)調(diào)用,而是通過(guò)new運(yùn)算符來(lái)調(diào)用;(3)構(gòu)造方法是一種特殊的成員方法,它沒(méi)有返回值。構(gòu)造方法特點(diǎn):可以被重載,當(dāng)沒(méi)有在類(lèi)中定義構(gòu)造方法時(shí),系統(tǒng)會(huì)默認(rèn)提供一個(gè)不帶參數(shù)的構(gòu)造方法。作用:初始化對(duì)象。6 . super和this關(guān)鍵字的用法
11、?this用在當(dāng)前類(lèi),當(dāng)前類(lèi)的一個(gè)默認(rèn)的對(duì)象,可以通過(guò) this來(lái)調(diào)用當(dāng)前類(lèi)的屬性和成員方法,也可以直接調(diào)用當(dāng)前類(lèi)的構(gòu)造方法的重載方法。super用于一個(gè)類(lèi)的子類(lèi)中,作為父類(lèi)在子類(lèi)中的一個(gè)默認(rèn)的對(duì)象,通過(guò)它來(lái)調(diào)用父類(lèi)的成員屬性和成員方法,也可以在子類(lèi)的構(gòu)造方法里直接調(diào)用父類(lèi)的構(gòu)造方法。7inal修飾類(lèi)、變量和方法時(shí)各有什么特點(diǎn)?修飾類(lèi):這個(gè)類(lèi)不能夠被繼承。修飾變量:這個(gè)變量值不能改變,成為一個(gè)常量。修飾方法:這個(gè)方法不能被覆蓋。8 .面向?qū)ο缶幊讨?,java類(lèi)的三個(gè)主要特征是?三個(gè)主要特征:封裝性、繼承性和多態(tài)性封裝性:通過(guò)類(lèi)的訪(fǎng)問(wèn)修飾符來(lái)實(shí)現(xiàn)封裝性的public, protected,缺省,
12、private的訪(fǎng)問(wèn)權(quán)限繼承性:extends 一個(gè)類(lèi)繼承了另一個(gè)類(lèi),那么父類(lèi)的所有成員屬性和成員方法都可以被繼承到子類(lèi)當(dāng)中,子類(lèi)也可以創(chuàng)建新的成員屬性和成員方法(現(xiàn)有的類(lèi)創(chuàng)建新的類(lèi)的特性) super多態(tài)性:靜態(tài)多態(tài)性,如:重載函數(shù)。動(dòng)態(tài)多態(tài)性,如:覆蓋函數(shù)。重載(overload): 一個(gè)類(lèi)中可以定義多個(gè)名稱(chēng)相同,但參數(shù)變量不同的方法,重載方法與 返回類(lèi)型無(wú)關(guān),重載方法常常用于構(gòu)造方法,用于實(shí)現(xiàn)不同功能的初始化工作,重載 也稱(chēng)為靜態(tài)多態(tài)性,這是由于該方法被調(diào)用時(shí)采用靜態(tài)地址充定位方式。覆蓋(override):在子類(lèi)中對(duì)父類(lèi)的某方法進(jìn)行了重新定義,但方法的簽名特征與父親完 全一致,訪(fǎng)問(wèn)修飾
13、符的訪(fǎng)問(wèn)的限制寬于或至少等于父類(lèi)的訪(fǎng)問(wèn)權(quán)限;主要用于實(shí)現(xiàn)同 一個(gè)方法在不同的類(lèi)中實(shí)現(xiàn)不同的表現(xiàn)形式,覆蓋也稱(chēng)為動(dòng)態(tài)多態(tài)性,這是由于該方 法只有在運(yùn)行時(shí)才能確定所調(diào)用的地址(也是多態(tài)性)。9 .什么是抽象類(lèi)?什么是抽象方法?抽象類(lèi)的特點(diǎn)?在類(lèi)中至少有一個(gè)方法是抽象方法,那么這個(gè)類(lèi)就稱(chēng)為抽象類(lèi),用abstract來(lái)修飾抽象類(lèi)。抽象方法即沒(méi)有定義這個(gè)方法的主體,給出這個(gè)方法的簽名特征。特點(diǎn):抽象類(lèi)的對(duì)象變量是通過(guò)它的非抽象的子類(lèi)來(lái)初始化的。如:Animal T=new Tiger () 里的方法都是抽象方法, 修飾符為public ,沒(méi)有寫(xiě)默認(rèn)為public 抽象類(lèi)非抽象類(lèi)10 .什么是接口?接口的
14、特點(diǎn)?接口的作用?接口是使用interface關(guān)鍵字來(lái)代替class的特殊的類(lèi)。接口的三種形式:(1)僅有常量接口; (2)常量和抽象方法接口( 3)僅有抽象方法接口。作用:(1)可以實(shí)現(xiàn)常量接口在多個(gè)類(lèi)當(dāng)中共享常量;(2)實(shí)現(xiàn)共享一組標(biāo)準(zhǔn)操作來(lái)實(shí)現(xiàn)多個(gè)類(lèi)之間的共享約定;(3)實(shí)現(xiàn)多態(tài)性。11 .接口與抽象類(lèi)的區(qū)別?接口中所有的方法都是抽象方法,不管這個(gè)方法是否使用public , abstract修飾,它都是默認(rèn)的公有的抽象方法, 抽象類(lèi)至少有一個(gè)抽象方法, 而且還有一個(gè)成員方法, 接口中不 能定義構(gòu)造方法,抽象類(lèi)可以定義構(gòu)造方法。12 .什么是包?包的作用?包是java語(yǔ)言提供的組織類(lèi)和接
15、口的工具,將一組相關(guān)的類(lèi)為接口,組織到一個(gè)包中。作用:(1)通過(guò)包可以來(lái)確定類(lèi)的唯一標(biāo)識(shí);(2)通過(guò)包可以將相似功能的類(lèi)和接口組織在一個(gè)包中。第九章1 .什么是異常?為什么要處理異常?異常是指程序運(yùn)行過(guò)程中出現(xiàn)的非正?,F(xiàn)象。由于異常情況總是難免的,良好的應(yīng)用程序除了具備用戶(hù)所要求的基本功能外,還應(yīng)該具備預(yù)見(jiàn)并處理可發(fā)生的各種異常的功能。2 .異常的基本處理方式?常用的異常類(lèi)有哪些??jī)煞N處理方式:(1) 一旦捕獲異常馬上進(jìn)行處理。try, catch, finally(2)捕獲異常并不處理,而是利用方法將異常拋出,throw, throws3 . Error 和 Exception 類(lèi)的區(qū)別?E
16、rror是用來(lái)處理較少發(fā)生的系統(tǒng)內(nèi)部的錯(cuò)誤,程序員對(duì)這些錯(cuò)誤通常無(wú)能為力,只能在發(fā)生時(shí)由用戶(hù)按照提示來(lái)終止程序的運(yùn)行。4 . throw和throws語(yǔ)句的區(qū)另1J?throw 是拋出一個(gè)異常對(duì)象,如: throw new xxx Exceptionthrows是某一個(gè)方法在聲明和定義時(shí),這個(gè)方法后面緊跟著throws,然后闡明這個(gè)方法可能拋出異常,如:throws new xxx Exception 這個(gè)異常可以是標(biāo)準(zhǔn)異常類(lèi),也可以是 自定義的異常類(lèi)。第十章1. Java輸入輸出的基本方式?主要是通過(guò)輸入和輸出流實(shí)現(xiàn)的,輸入流將數(shù)據(jù)從文件標(biāo)準(zhǔn)輸出或其他外部設(shè)備輸入, 輸出流將數(shù)據(jù)保存到文件或
17、傳輸給相關(guān)的設(shè)備。2 .字符流域字節(jié)流的區(qū)別是什么?舉例說(shuō)明哪些類(lèi)處理字符流?哪些處理字節(jié)流?如果字 節(jié)流向字符流進(jìn)行轉(zhuǎn)換需要用什么類(lèi)?字節(jié)流是以字節(jié)為單位的訪(fǎng)問(wèn)文件,字節(jié)流具有兩個(gè)重要的抽象類(lèi),“input stream和output stream"。字符流是以字符為單位的訪(fǎng)問(wèn)文件,兩個(gè)重要的抽象類(lèi),“Reader和Writer"。橋接類(lèi)在定義字節(jié)流時(shí),由于任何字節(jié)流的類(lèi)都跟著一個(gè)stream,字符流的類(lèi)后綴reader,writer o 橋接類(lèi): 跟著 Inputstream reader 和 Outputstream writer o3 .為什么需要使用帶有緩沖的輸入
18、輸出流進(jìn)行數(shù)據(jù)的讀取與寫(xiě)入?提高運(yùn)行效率,對(duì)字符而言,為 Buffer Reader,對(duì)字節(jié)而言, Buffer Input stream 如: Buffer Reader new=Buffer Reader ()第十一、十二章1 . javaGUI編程需要導(dǎo)入哪些包? .awt* , .Swing* , .event*2 .什么是組件?什么是容器?哪些是頂層容器?哪些是中間容器? 組件是圖形用戶(hù)界面是哪個(gè)現(xiàn)實(shí)的各種圖形基本成分和核心元素。容器是可以包含其他組件的組件,容器是組件的一種。頂層容器:JFrame, JDialog , JApplet (用于布局其他容器與組件的最基本容器)中間容器
19、:JPanel, JScrollpane, JTabbedpane, JToolBar最靈活最常用的中間容器3 .什么是布局管理器?作用是什么?說(shuō)出三種布局管理器及其特點(diǎn)。布局管理器是用來(lái)管理各種組件容器中擺放位置的對(duì)象;作用是將組件房子相應(yīng)的位置,使容器中的組件安排更加合理,減少與系統(tǒng)平臺(tái)的相關(guān)性;BorderLayout (邊布局)類(lèi):把容器內(nèi)的空間劃分為東、西、南、北、中五個(gè)區(qū)域; FlowLayout (流式布局)類(lèi): 從左到右排列;GridLayout (網(wǎng)格布局)類(lèi):從左到右從上到下的順序依次放入各網(wǎng)格 中(沒(méi)個(gè)網(wǎng)格只能放一個(gè)組件)4 .什么是事件? Java如何處理用戶(hù)的操作?事
20、件:當(dāng)用戶(hù)用鍵盤(pán)或鼠標(biāo)來(lái)進(jìn)行操作時(shí),操作系統(tǒng)發(fā)出的相應(yīng)的信號(hào)。事件源:用戶(hù)在操作過(guò)程中所使用的相關(guān)組件。通過(guò)事件驅(qū)動(dòng)模型來(lái)處理用戶(hù)操作的。5 .列出常用的時(shí)間監(jiān)聽(tīng)器接口及其方法。ActionListener AdjustmentListener FocusListener ItemListenerKeyListener按下那個(gè)鍵actionperformed () adjustmentValueChange () focusLost () focusGained () itemStateChange ()keyPressed ()正按下那個(gè)鍵還沒(méi)有彈起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寫(xiě)的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í)行,一定要寫(xiě)在最前面。C:test test目錄下執(zhí)行7 UltraEdit-32出現(xiàn)#.java.bak文件,是UltraEdit自動(dòng)添加的.高級(jí)一配置文件處理-OL:選擇不備份就可以了8 本質(zhì)上講,變量其實(shí)是內(nèi)存中的一小塊區(qū)域,使用變量名來(lái)訪(fǎng)問(wèn)這塊區(qū)域因此,變量必須先聲明(先把這塊內(nèi)存給我分配了),后賦值(填內(nèi)容),才能使用。9 內(nèi)存管理:Heap:動(dòng)態(tài)生成內(nèi)存用的,即 new出來(lái)的東西Stack:局部變量Data segm
23、ent:靜態(tài)變量字符串常量Code segment:存放代碼10 java變量的分類(lèi):1 ) 按被聲明的位置局部變量:方法或語(yǔ)句塊內(nèi)部聲明的成員變量:(不是C+的全局變量)方法體外,類(lèi)體的內(nèi)部聲明的11 Java采用Unicode編碼,Unicode是全球語(yǔ)言統(tǒng)一編碼12 8位表示1個(gè)字節(jié),2個(gè)字節(jié)表示1個(gè)字符。(1個(gè)字節(jié)最多表示2的8次方個(gè)符號(hào),所以用來(lái)表示中文,日文一個(gè)字節(jié)不夠用,所以立 有國(guó)標(biāo)碼:GB2312)13 Boolean 只能是 true 和 false.1 Byte: 一個(gè)字節(jié) short:二個(gè)字節(jié) int:四個(gè)字節(jié) long :八個(gè)字節(jié)2 八進(jìn)制要求以0開(kāi)頭,如012十六進(jìn)
24、制要求以 0X或0x開(kāi)頭,如0x123 編程格式:1) 右大括號(hào)對(duì)齊2) 遇到左大括號(hào)tab鍵(或者shift+tab)縮進(jìn)3) 程序塊之間加空行4) 并排語(yǔ)句之間加空格5) 運(yùn)算符兩邊加空格6) 成對(duì)編程7) 前面有空格4 運(yùn)算符/ :除 :求余5 Void catchdog (Dog d) d.scream();)6 JDK本身就提供了很多類(lèi),比如string7 引用變量相關(guān)知識(shí)點(diǎn):Java里除了基本類(lèi)型(四類(lèi)八種)之外的變量都叫引用類(lèi)型 Java中的對(duì)象是通過(guò)引用對(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ì)象類(lèi)的成員變量在不同的對(duì)象中有不同的值但方法只有一份,不占內(nèi)存,只是一堆代碼。只有在執(zhí)行的時(shí)候才占內(nèi)存。8 使用對(duì)象(引用).成員變量使用對(duì)象(引用).方法來(lái)調(diào)對(duì)象的方法。9 構(gòu)造方法與類(lèi)同名且沒(méi)有返回值,而其他的方法必須要有返回值,沒(méi)有 int double的時(shí)候必須也要有 void.10 Person jyang = new person(1,3);的時(shí)候,注意類(lèi)person帶了參數(shù),說(shuō)明不是編譯器自動(dòng)添加的構(gòu)造函數(shù)了,這說(shuō)明已經(jīng)重載的構(gòu)造方法。如果沒(méi)有重載的話(huà), 應(yīng)該是 person jyang =
26、 new person。;11約定俗成的命名規(guī)則:1)類(lèi)名的首字母大寫(xiě)2)變量名和方法名的首字母小寫(xiě)3) 駝峰標(biāo)識(shí)1 static1 ) static的成員變量只有一份,不像其他的成員變量只要new 一個(gè)對(duì)象就有一份。2 ) 在調(diào)用static方法時(shí),不會(huì)將對(duì)象的引用傳遞給它!static方法中不能訪(fǎng)問(wèn)非static成員,即靜態(tài)方法不再是針對(duì)某個(gè)對(duì)象調(diào)用,所以不能訪(fǎng)問(wèn)非靜態(tài)方法。3)可以通過(guò)對(duì)象引用或類(lèi)名(不需要實(shí)例化)訪(fǎng)問(wèn)靜態(tài)成員。3 第一句話(huà)寫(xiě) package訪(fǎng)問(wèn)位于同一個(gè)包下面的類(lèi)不需要引入4 java.lang 包含些 java 的核心類(lèi),如 string,math,integer,s
27、ystem 和 Thread,提供常 用功能。Java.awt包含了構(gòu)成抽象窗口工具集(abstract window toolkits)的多個(gè)類(lèi),用來(lái)構(gòu)建GUI。Java.applet包含applet運(yùn)行所需的一些類(lèi)。J包含執(zhí)行與網(wǎng)絡(luò)相關(guān)的操作的類(lèi)。Java.ioJava.util包含一些實(shí)用工具類(lèi),如定義系統(tǒng)特性,使用與日期日歷相關(guān)的函數(shù)。5 jar cvf xx.jar *.*6 private類(lèi)內(nèi)部訪(fǎng)問(wèn),即使是子類(lèi)繼承了也不能用。default類(lèi)內(nèi)部,同一個(gè)包內(nèi)的其它類(lèi)也可以訪(fǎng)問(wèn)protected類(lèi)內(nèi)部。同一個(gè)包可以訪(fǎng)問(wèn)或者不是這個(gè)包但是子類(lèi)也可以public任何地方都可以7 exte
28、nds通過(guò)繼承,子類(lèi)自動(dòng)擁有了基類(lèi)的所有成員變量和方法。8 java只支持單繼承,一個(gè)子類(lèi)只能有一個(gè)基類(lèi),但一個(gè)基類(lèi)可有派生出多個(gè)子類(lèi)9 重寫(xiě):override在子類(lèi)中可以根據(jù)需要從基類(lèi)中繼承來(lái)的方法進(jìn)行重寫(xiě)。重寫(xiě)方法必須和被重寫(xiě)的方法具有相同的方法名稱(chēng),參數(shù)列表和返回類(lèi)型重寫(xiě)方法不能使用比被重寫(xiě)方法更嚴(yán)格的訪(fǎng)問(wèn)權(quán)限重載:一個(gè)類(lèi)中的。10 Java類(lèi)中使用super來(lái)引用基類(lèi)成分,This是當(dāng)前對(duì)象的引用(this.#), super是父類(lèi)對(duì)象的引用 (super.#)。1繼承中構(gòu)造方法的規(guī)則1) 子類(lèi)的構(gòu)造的過(guò)程中必須調(diào)用其基類(lèi)的構(gòu)造方法,即構(gòu)造子類(lèi)的時(shí)候必須先構(gòu)造好基類(lèi)(沒(méi)有父親的存在哪有
29、兒子的存在)2) 子類(lèi)可以在自己的構(gòu)造方法中使用super(argment_list)調(diào)用基類(lèi)的構(gòu)造方法.如果調(diào)用super必須寫(xiě)在子類(lèi)構(gòu)造方法的第一行3)如果子類(lèi)沒(méi)有顯示的調(diào)用基類(lèi)構(gòu)造方法,系統(tǒng)默認(rèn)調(diào)用基類(lèi)默認(rèn)的構(gòu)造方法(此時(shí),如果基類(lèi)構(gòu)造方法重載,這時(shí)沒(méi)有寫(xiě)無(wú)參數(shù)的構(gòu)造方法,編譯器沒(méi)有默認(rèn)構(gòu)造方法,則出錯(cuò))3) Object 類(lèi)1) Java.lang中的類(lèi),是所有java類(lèi)的根基類(lèi)2) 類(lèi)的聲明中未使用extends關(guān)鍵字指明其基類(lèi),則默認(rèn)為從 objects繼承3) finalize。:類(lèi)似C+的析構(gòu)函數(shù),在java中垃圾回收器幫忙自動(dòng)調(diào)用這個(gè)方法。clone():getClass()
30、:與反射有關(guān),返回一個(gè)對(duì)象運(yùn)行時(shí)的類(lèi)toString():1) object類(lèi)中定義有public String toString (),其返回值是String類(lèi)型,描述當(dāng)前對(duì)象的有 關(guān)信息。2) 在進(jìn)行String與其它類(lèi)型數(shù)據(jù)的連接操作時(shí)(如:System.out.println( "info " +Persion),將自動(dòng)調(diào)用該對(duì)象類(lèi)的toString()方法3) 可以根據(jù)需要在用戶(hù)自定義類(lèi)型中重寫(xiě)public String toString ()方法。system.out.println(b);(b 是一個(gè) new 出的對(duì)象)4) 重寫(xiě)要copy!如果重寫(xiě)成publ
31、ic String ToString(),編譯沒(méi)問(wèn)題,但運(yùn)行不行。equals():加"s"第三人稱(chēng)。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)所以需要重寫(xiě)equals()方法:public boolean equals(Object obj)if(obj instanceof Cat)/ 如果 obj 屬于一只貓Cat c = (Cat)
32、 obj; 強(qiáng)制轉(zhuǎn)換 object 為一只貓3) object類(lèi)中的string類(lèi)data類(lèi)等都已經(jīng)重寫(xiě)了equals方法。1) 基類(lèi)的引用類(lèi)型變量可以指向其子類(lèi)的對(duì)象2) 基類(lèi)的引用不可以訪(fǎng)問(wèn)其子類(lèi)對(duì)象新增加的成員(屬性和方法)如: 基類(lèi) animal a = new dog(); a 不能訪(fǎng)問(wèn) dog的新增成員。3) 可以使用引用變量instanceof類(lèi)名來(lái)判斷該引用型變量所指向的對(duì)象是否屬于該類(lèi)或該類(lèi)的子類(lèi) (如: a instanceof dog)4) 子類(lèi)的對(duì)象可以當(dāng)作基類(lèi)的對(duì)象來(lái)使用稱(chēng)作向上轉(zhuǎn)型(upcasting),反之稱(chēng)為向下轉(zhuǎn)型(downcasting)需強(qiáng)制轉(zhuǎn)換。5) d
33、og d1 = (dog) a;把動(dòng)物a強(qiáng)制轉(zhuǎn)換成一只狗。1抽象修飾符可以修飾抽象類(lèi)和抽象方法。凡是用抽象修飾符修飾的類(lèi)被稱(chēng)為抽象類(lèi)。 抽象類(lèi)就是沒(méi)有具體對(duì)象的概念類(lèi)。 由于抽象類(lèi)是它的所有子類(lèi)的公共屬性的集合。例:abstractabstract修飾的抽象方法是一種僅有方abstract void phonecard;可見(jiàn) abstract 方class phonecard表示電話(huà)卡類(lèi)所有公共屬性。修飾符 法頭,而沒(méi)有具體的方法體和模塊實(shí)現(xiàn)的方法。例: 法只有方法頭的聲明,后面沒(méi)有大括號(hào)包含的方法體。static修飾符修飾僅屬于類(lèi)的域,它 是一個(gè)公共的存儲(chǔ)單元,任何一個(gè)對(duì)象2靜態(tài)修飾符使用在
34、靜態(tài)域和靜態(tài)方法中,靜態(tài)域是用 們是類(lèi)的域,不屬于任何一個(gè)類(lèi)的具體對(duì)象,靜態(tài)域訪(fǎng)問(wèn)它時(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)?子類(lèi)如何調(diào)用父類(lèi)?1構(gòu)造函數(shù):構(gòu)造函數(shù)用來(lái)處理對(duì)象的初始化。它是一種特殊的成員函數(shù)。構(gòu)造函數(shù)名必須與類(lèi)名相同,它不具有任何類(lèi)型,不返回任何值。2構(gòu)造函數(shù)的特點(diǎn):A可以為對(duì)象的屬性賦初值,還可以在對(duì)象初始化過(guò)程中進(jìn)
35、行必要的檢查和處理。B提高了編程的靈活性。3子類(lèi)調(diào)用父類(lèi):A如果子類(lèi)沒(méi)有定義任何函數(shù),那么就在創(chuàng)建子類(lèi)對(duì)象時(shí)將調(diào)用父類(lèi)的無(wú)參數(shù)的構(gòu)造函數(shù) B如果子類(lèi)自己定義了構(gòu)造函數(shù),則在創(chuàng)建子類(lèi)對(duì)象時(shí),系統(tǒng)將首先隱含執(zhí)行父類(lèi)無(wú)參數(shù)的構(gòu)造函數(shù),然后再執(zhí)行子類(lèi)自己的構(gòu)造函數(shù)。C如果在子類(lèi)自己定義的構(gòu)造函數(shù)中,利用 super關(guān)鍵字顯式的調(diào)用父類(lèi)的構(gòu)造函數(shù),系統(tǒng)不再隱含父類(lèi)的無(wú)參數(shù)的構(gòu)造函數(shù)。PS: super的顯式調(diào)用語(yǔ)句必須是子類(lèi)構(gòu)造函數(shù)的第一個(gè)可執(zhí)行語(yǔ)句。3.如何定義數(shù)組,如何開(kāi)辟數(shù)組空間?1 聲明數(shù)組:聲明數(shù)組主要是聲明數(shù)組的名稱(chēng)和數(shù)組所包含的元素的數(shù)據(jù)類(lèi)型或元素的類(lèi)名。 數(shù)組元素類(lèi)型數(shù)組名 ;或 數(shù)組元
36、素類(lèi)型 數(shù)組名;例: int MyIntArray ;或 D200_Card ArrayOf200Card; / 類(lèi)也可以當(dāng)作一個(gè)基本數(shù)據(jù)類(lèi)型使用2 開(kāi)辟數(shù)組空間:數(shù)組名 = new 數(shù)組元素類(lèi)型數(shù)組元素的個(gè)數(shù) ;3 : int MyIntArray = new int 10;D200_Card ArrayOf200Card = new D200_Card 154 .用內(nèi)部類(lèi)和當(dāng)前類(lèi)如何實(shí)現(xiàn)監(jiān)聽(tīng)者??jī)?nèi)部類(lè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)部類(lèi)Public void actionperformed ( ActimEvent e)/ bt的事件處理當(dāng)前類(lèi):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 布局:組件在一行中從左至右水平排列,排滿(mǎn)后折行。A加入組件:add(組件名);B 將布局改為 FlowLayout; 使用 SetLayout( new FlowLayout ( ) ) ; 語(yǔ)句。 也可以使用下列兩 種構(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 .簡(jiǎn)述JAVA 事件的處理機(jī)制7 .什么是容器組件?(Ponel 與 Frame 的擴(kuò)展)Ponel 與容器事件: Ponel 屬于無(wú)邊框容器。 Ponel 是 Container 的子類(lèi)。它是最簡(jiǎn)單的容器,它沒(méi)有邊框或其他可視邊界,不能被移動(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 類(lèi)的構(gòu)造函數(shù)及其使用方法1 Public string ( )這個(gè)構(gòu)造函數(shù)用來(lái)創(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 的開(kāi)發(fā)環(huán)境( 1 ) 、 bin 目錄:存放可執(zhí)行文件。( 2 ) 、 lib 目錄:存放Java 的類(lèi)庫(kù)文件。( 3 ) 、 demo 目錄:存放演示程序。4 ) 、 jre 目錄:存放Java 運(yùn)行環(huán)境變量。配置環(huán)境:用戶(hù)變量是針對(duì)某一個(gè)用戶(hù)的,而系統(tǒng)變量是針對(duì)整個(gè)電腦的。要加兩個(gè)路徑: ( 1 ) 、 path 加 bin 路徑;并以分號(hào)隔開(kāi)。( 2) 、 classpath 加 .; lib
43、的路徑。Java 數(shù)據(jù)類(lèi)型分兩個(gè)類(lèi)別:( 1 ) 、原始數(shù)據(jù)類(lèi)型。( 2 ) 、引用數(shù)據(jù)類(lèi)型。原始數(shù)據(jù)類(lèi)型Java 關(guān)鍵字都是小寫(xiě)。Byte(字節(jié)型)8-128127Boolean(布爾型)1 true/false引用數(shù)據(jù)類(lèi)型:( 1 ) 、 數(shù)組 :具有相同數(shù)據(jù)類(lèi)型的變量的集合。( 2 ) 、 類(lèi) :變量和方法的集合。(3) 、 接口 :一個(gè)抽象類(lèi),其創(chuàng)建目的是為了實(shí)現(xiàn)Java 中的多重繼承。變量的作用域和生命周期變量在作用域內(nèi)為局部變量,所以在其作用域外不能使用 .作用域可以嵌套。類(lèi)型轉(zhuǎn)換1、自動(dòng)類(lèi)型轉(zhuǎn)換:1 ) 、兩種類(lèi)型必須兼容2 ) 、目標(biāo)類(lèi)型大于源類(lèi)型。2、強(qiáng)制類(lèi)型轉(zhuǎn)換3、類(lèi)型提升
44、規(guī)則賦值運(yùn)算符:可以將單個(gè)語(yǔ)句中賦給多個(gè)變量。從右向左執(zhí)行。例: p = q = r = s = num.邏輯運(yùn)算符:A:邏輯異 :如兩個(gè)值一樣就為假.條件運(yùn)算符語(yǔ)法:Expression1 ? expression2 : expression3Java 源文件的名與公共類(lèi)名一樣包括大小寫(xiě)源文件最多有一個(gè)公共類(lèi),源文件可以沒(méi)有公共類(lèi),此時(shí)源文件名可以隨意。數(shù)組僅聲明: 例: datetype identifier聲明和創(chuàng)建: 例: datatype ident ifier = new datetypesize;聲明、創(chuàng)建和初始化:例:datetype identifier=value1,val
45、ue2, .valueN;命令行參數(shù)Args.length :能得到數(shù)組的長(zhǎng)度??梢栽诿钚兄苯觽鲾?shù)值給main()方法的String類(lèi)型的數(shù)組args。對(duì)象:是存在的具體實(shí)體,具有明確定義的狀態(tài)和行為。消息傳遞:本質(zhì)上就是方法的調(diào)用(?)消息:指一個(gè)對(duì)象為執(zhí)行特定操作而向另一個(gè)對(duì)象發(fā)送的請(qǐng)求。類(lèi)類(lèi):是具有相同屬性和共同行為的一組對(duì)象的集合。類(lèi)的屬性:對(duì)象或?qū)嶓w擁有的特征在類(lèi)中表示時(shí)成為屬性。對(duì)象執(zhí)行的操作稱(chēng)為方法。類(lèi)和對(duì)象的區(qū)別類(lèi)是用來(lái)描述實(shí)體的“模板“或”原型“,而對(duì)象是實(shí)際的實(shí)體。封裝隱藏屬性、方法或?qū)崿F(xiàn)的詳細(xì)信息的處理方式稱(chēng)為封裝。抽象它是指只關(guān)注對(duì)象的重要細(xì)節(jié),而忽略對(duì)象的次要細(xì)節(jié)。
46、通過(guò)抽象簡(jiǎn)化軟件的復(fù)雜性。抽象分: ( 1) 、數(shù)據(jù)上的抽象( 2) 、過(guò)程上的抽象。將實(shí)體的相關(guān)屬性和操作根據(jù)特定的應(yīng)用程序進(jìn)行標(biāo)識(shí)和分組的過(guò)程就是數(shù)據(jù)抽象。在 Java 中實(shí)現(xiàn)類(lèi)語(yǔ)法如下:Class <classname><body of the class>類(lèi)中的方法語(yǔ)法:<returntype><methodname>(<type1><arg1>,<type2><ar g2>,.)<set of statements>調(diào)用方法類(lèi)似于調(diào)用或引用實(shí)例變量。 方法可是使用點(diǎn)操作符來(lái)訪(fǎng)問(wèn)
47、。 方法被調(diào)用的對(duì)象在圓點(diǎn)左邊,而方法的名稱(chēng)在圓點(diǎn)右邊。例如:Obj . isAvailable();構(gòu)造方法例:Pixel p = new Pixel();Pixel() :是類(lèi)中的構(gòu)造方法。是 new 出來(lái)的東西都是引用類(lèi)型。構(gòu)造方法是只要在創(chuàng)建給定類(lèi)的實(shí)例時(shí)就調(diào)用的一個(gè)方法。 它們與類(lèi)同名, 但不具備任何返回類(lèi)型。構(gòu)造方法的特點(diǎn): ( 1) 、跟類(lèi)名相同。( 2 ) 、沒(méi)有任何返回值。( 3 ) 、構(gòu)造方法只能用 new 來(lái)調(diào)。( 4 ) 、構(gòu)造方法一般不只一個(gè),就構(gòu)成了重載。構(gòu)造方法類(lèi)型: ( 1 ) 、參數(shù)化構(gòu)造方法。( 2 ) 、隱式/默認(rèn)構(gòu)造方法。當(dāng)一個(gè)類(lèi)未定義構(gòu)造方法時(shí),Jav
48、a虛擬機(jī)(JVM)便提供一個(gè)默認(rèn)構(gòu)造方法,它不帶任何參數(shù),其主體不含任何語(yǔ)句,這種構(gòu)造方法稱(chēng)為隱式構(gòu)造方法。 類(lèi)中聲明構(gòu)造方法, 類(lèi)不會(huì)再自動(dòng)添加了.包主要用途:1 、包允許將類(lèi)合成為較小的單元,使其易于中找到和使用相應(yīng)的類(lèi)文件。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.*;如果使用的類(lèi)是來(lái)自不同的包,且沒(méi)有使
49、用 import 語(yǔ)句導(dǎo)入該包,則需要在代碼中指明使用類(lèi)隸屬的包。 方法是使用“.”來(lái)訪(fǎng)問(wèn)中的成員。例如:Mypackage.Calculate calc=new mypackage.Calculate();知識(shí)擴(kuò)展:課后作業(yè)題 2、 ( 1) 、兩個(gè)類(lèi)建在一個(gè)文檔下面執(zhí)行的時(shí)候問(wèn)什麼不成功?解:不能進(jìn)入包中運(yùn)行類(lèi)。 運(yùn)行的方法是在包外加包前綴運(yùn)行 。例:Java parent.child.ParentTest( 2) 、用點(diǎn)星導(dǎo)進(jìn)所有類(lèi)問(wèn)什麼出現(xiàn)錯(cuò)誤?解:是因?yàn)?JAVA 程序錯(cuò)把 .JAVA 源文件當(dāng)成.class 字節(jié)碼,而無(wú)法編譯。只需把源程序提出包就可以了。面向?qū)ο蟮奶攸c(diǎn): ( 1)
50、 、封裝。 ( 2 ) 、繼承。 ( 3) 、多態(tài).繼承主要有點(diǎn):代碼的可重用性。使用關(guān)鍵字extends 來(lái)繼承類(lèi)。一個(gè)類(lèi)一經(jīng)定義和調(diào)試,便可以用來(lái)創(chuàng)建新的子類(lèi)的對(duì)象中,子類(lèi)Car、Ship和Plane具有與父類(lèi)相同的屬性和方法。子類(lèi)構(gòu)造方法構(gòu)造方法用于初始化特定類(lèi)型的對(duì)象并分配內(nèi)存, 構(gòu)造方法的名稱(chēng)與類(lèi)名相同 。 創(chuàng)建對(duì)象時(shí)會(huì)自動(dòng)調(diào)用構(gòu)造方法。 類(lèi)似地, 子類(lèi)的構(gòu)造方法的名稱(chēng)也與子類(lèi)名相同, 創(chuàng)建子類(lèi)的對(duì)象時(shí)將調(diào)用此構(gòu)造方法。需要注意的是, 子類(lèi)永遠(yuǎn)不會(huì)繼承父類(lèi)的構(gòu)造方法除了構(gòu)造方法之外,父類(lèi)的所有方法和屬性都由子類(lèi)的對(duì)象繼承。 創(chuàng)建子類(lèi)的對(duì)象時(shí), 它將會(huì)包含父類(lèi)的所有方法和屬性。 父類(lèi)的
51、值應(yīng)該正確地初始化, 這一點(diǎn)非常重要。 子類(lèi)構(gòu)造方法可以調(diào)用父類(lèi)構(gòu)造方法。需要注意的是,父類(lèi)構(gòu)造方法的調(diào)用總是先于子類(lèi)構(gòu)造方法的調(diào)用。另一方面,通過(guò)使用關(guān)鍵字 super,程序員還可以從子類(lèi)構(gòu)造方法中調(diào)用父類(lèi)中默認(rèn)構(gòu)造方法或或帶參數(shù)的構(gòu)造方法。 調(diào)用父類(lèi)調(diào)用父類(lèi)構(gòu)造方法的語(yǔ)句應(yīng)該為子類(lèi)構(gòu)造方法中的第一個(gè)語(yǔ)句這是因?yàn)楦割?lèi)先于子類(lèi)存在 。例 :auper(parameter_list) or super();多態(tài)性函數(shù)不能嵌套,也就是函數(shù)內(nèi)部不能出現(xiàn)函數(shù)。重載方法:參數(shù)列表不同( 1 ) 、數(shù)目不同( 2 ) 、參數(shù)類(lèi)型不同。 ( 3 ) 、參數(shù)順序不同。重寫(xiě)方法: 在類(lèi)體系結(jié)構(gòu)中, 當(dāng)子類(lèi)中的方
52、法與其父類(lèi)中的方法具有相同的方法時(shí), 則認(rèn)為子類(lèi)中的方法重寫(xiě)了父類(lèi)中的方法。 從子類(lèi)中調(diào)用重寫(xiě)方法時(shí), 將總是調(diào)用出項(xiàng)在子類(lèi)中的方法,而父類(lèi)中的方法將被隱藏。多態(tài)性: 一個(gè)子類(lèi)有自己的屬性,又有父類(lèi)的屬性。這種狀態(tài)叫多態(tài)性。Super : ( 1) 、子類(lèi)的構(gòu)造方法可用來(lái)調(diào)用父類(lèi)的構(gòu)造方法。( 2) 、調(diào)用已被重寫(xiě)的父類(lèi)的方法(可以不是第一句) 。訪(fǎng)問(wèn)修飾符1、 public (公有) :類(lèi)的 public 成員可以被該類(lèi)的成員和非該類(lèi)的成員訪(fǎng)問(wèn)??蓱?yīng)用于: 類(lèi)、方法、屬性。2、 private (私有) :類(lèi)的 private 成員只能被該類(lèi)的成員訪(fǎng)問(wèn),任何非該類(lèi)成員的代碼不能訪(fǎng)問(wèn)任何私有方
53、法或變量。使用 private 訪(fǎng)問(wèn)修飾符的主要目的是隱藏?cái)?shù)據(jù)。3、 protected (保護(hù)):類(lèi)的protected成員可以被該類(lèi)的成員以及其子類(lèi)的成員訪(fǎng)問(wèn)。它還 可以被同一個(gè)包內(nèi)其他類(lèi)的成員訪(fǎng)問(wèn)。4、 (default):還有一種缺省(default)情況,就是類(lèi)成員什么修飾符也沒(méi)有的時(shí)候,只有它本身的類(lèi)和在同一個(gè)包的類(lèi)里可以訪(fǎng)問(wèn)它 。位置privatedefaultprotected public同一個(gè)類(lèi)是是 是 是同一個(gè)包內(nèi)的類(lèi) 否 是 是是不同包內(nèi)的子類(lèi) 否 否 是是不同包并且不是子類(lèi)否 否 否 是方法修飾符static 修飾符: 方法被 static 后這個(gè)方法就是類(lèi)的了, 只
54、能通過(guò)類(lèi)調(diào)用。 靜態(tài)的方法只能使用 靜態(tài)的東西。方法聲明為靜態(tài)時(shí)具有某些限制,具體內(nèi)容如下。?它們只能調(diào)用其他靜態(tài)方法。?它們必須只訪(fǎng)問(wèn)靜態(tài)數(shù)據(jù)。?不能使用關(guān)鍵字this 或 super。final 修飾符:有時(shí)候程序員可能需要定義一個(gè)不會(huì)改變的類(lèi)成員。 final 修飾符可應(yīng)用于類(lèi)、 方法和變量。Final 可用于類(lèi):不能被繼承了方法:不能重寫(xiě)。但它的值可以更改。屬性:變成常量。abstract 修飾符:父類(lèi)中的某些方法不包含任何邏輯,并且需要由子類(lèi)重寫(xiě)。在這種情況下,應(yīng)該使用關(guān)鍵字abstract 來(lái)聲明父類(lèi)中的方法。 子類(lèi)提供這種 abstract 方法的實(shí)現(xiàn)細(xì)節(jié),而父類(lèi)僅提供此方法的名
55、稱(chēng)和聲明,沒(méi)有方法的主體。因此子類(lèi)應(yīng)負(fù)責(zé)重寫(xiě)此方法。語(yǔ)法為:abstract type methodname( parameter list ) ;只有方法沒(méi)有方法體就是抽象方法。前面必須要加abstract。類(lèi)中出現(xiàn)了抽象方法,則該類(lèi)為抽象類(lèi) 。抽象方法未必有抽象方法。抽象類(lèi)不能實(shí)例化對(duì)象。被繼承的子類(lèi)一般要實(shí)現(xiàn)所有抽象方法。 抽象父類(lèi)和抽象子類(lèi)可以有含有方法體的方法, 但是也不能實(shí)例化,可以通過(guò)抽象子類(lèi)的子類(lèi)來(lái)實(shí)現(xiàn)抽象父類(lèi)和抽象子類(lèi)。接口所有方法都必須抽象。接口定義和類(lèi)定義類(lèi)似, 在 Java 中要定義一個(gè)接口,是通過(guò) interface 關(guān)鍵字 。接口里可以聲明一些方法和常量。語(yǔ)法:public interface firstInterface接口的實(shí)現(xiàn)和使用:implements 。語(yǔ)法:public class InterfaceDemo implements MyInterface創(chuàng)建接口時(shí)必須牢記以下幾點(diǎn):?接口中的所有方法必須是public 類(lèi)型或默認(rèn)類(lèi)型
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度門(mén)店合伙人激勵(lì)機(jī)制服務(wù)合同4篇
- 2025年度二零二五農(nóng)行個(gè)人二手房交易貸款合同2篇
- 2025年度綠色建筑節(jié)能改造工程合同(二零二五版)4篇
- 二零二五年度商業(yè)門(mén)面租賃合同范本-@-1
- 2025年度綠色生態(tài)餐廳檔口租賃合同樣本4篇
- 2025年度城市軌道交通鋼管材料供應(yīng)與承包合同協(xié)議書(shū)范本
- 2025版南海區(qū)創(chuàng)新創(chuàng)業(yè)人才居住就業(yè)支持合同4篇
- 2025版門(mén)面租賃合同消防安全及責(zé)任承擔(dān)4篇
- 二零二五年度外賣(mài)送餐服務(wù)合同書(shū)(含增值服務(wù))
- 二零二五年度年薪制工資與員工晉升合同模板
- 衛(wèi)生服務(wù)個(gè)人基本信息表
- 醫(yī)學(xué)脂質(zhì)的構(gòu)成功能及分析專(zhuān)題課件
- 高技能人才培養(yǎng)的策略創(chuàng)新與實(shí)踐路徑
- 廣東省湛江市廉江市2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2024年湖北省知名中小學(xué)教聯(lián)體聯(lián)盟中考語(yǔ)文一模試卷
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 交叉口同向可變車(chē)道動(dòng)態(tài)控制與信號(hào)配時(shí)優(yōu)化研究
- 燃?xì)庑袠I(yè)有限空間作業(yè)安全管理制度
- 數(shù)列練習(xí)題(含答案)基礎(chǔ)知識(shí)點(diǎn)
- 人教版(2024新版)七年級(jí)上冊(cè)英語(yǔ)期中+期末學(xué)業(yè)質(zhì)量測(cè)試卷 2套(含答案)
- 通用電子嘉賓禮薄
評(píng)論
0/150
提交評(píng)論