Java程序設(shè)計課程學習總結(jié)與心得.docx_第1頁
Java程序設(shè)計課程學習總結(jié)與心得.docx_第2頁
Java程序設(shè)計課程學習總結(jié)與心得.docx_第3頁
Java程序設(shè)計課程學習總結(jié)與心得.docx_第4頁
Java程序設(shè)計課程學習總結(jié)與心得.docx_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java程序設(shè)計課程學習總結(jié) (2012)學習java須知與必備知識java面向?qū)ο?OOP)(類與對象,繼承抽象類與接口)java程序的數(shù)組與字符串java程序的流技術(shù)以及異常處理java語言高級部分Java窗體應(yīng)用程序(一)java須知與必備知識:1.java語言與C語言有許多相似點,但又有很大的區(qū)別。Java源程序主要有5部分組成:package語句(用來定義程序所屬的包,放在程序的最前面,可省略)、import語句(用來引入其它包中的類,放在類定義之前)、類(class是定義類的關(guān)鍵字,類是整個源程序的核心部分)、方法(每個java程序只允許有一個main()主方法)、語句(語句有復值語句、調(diào)用方法語句和對象定義語句等,每條語句占一行,以分號結(jié)束)字節(jié)碼程序(.class文件)Java解釋器Java編譯器系統(tǒng)執(zhí)行平臺字節(jié)碼程序(.class文件)Java源程序(.java文件) 2. 標識符、注釋與C語言相同。3.(1)String類的構(gòu)造方法:構(gòu)造方法說明String()它將創(chuàng)建一個空字符串String(String value)它將新建一個字符串作為指定字符串的副本String (char value)它將根據(jù)字符數(shù)組構(gòu)造一個新字符串String(byte value)它將通過轉(zhuǎn)換指定的字節(jié)數(shù)組新建一個字符串(2)提取字符串:方法說明public char charAt(int index) 此方法用于從指定位置提取單個字符,該位置由索引指定,索引中的值必須為非負public String substring(int index) 此方法用于提取從位置索引開始的字符串部分public String substring(int beginindex, int endindex) 此方法用于提取 beginindex 和 endindex 位置之間的字符串部分public String concat(String str) 此方法用于連接兩個字符串,并新建一個包含調(diào)用字符串的字符串對象public String replace(char old, char new) 此方法用于將調(diào)用字符串中出現(xiàn)某個字符的所有位置都替換為另一個字符public String trim() 此方法用于返回一個前后不含任何空格的調(diào)用字符串的副本(3)字符串轉(zhuǎn)換成數(shù)值型數(shù)據(jù)的方法:方法說明Byte.parseByte()將字符串轉(zhuǎn)換為字節(jié)型數(shù)據(jù)Short.parseShort()將字符串轉(zhuǎn)換為短整型數(shù)據(jù) Integer.parseInt()將字符串轉(zhuǎn)換為整型數(shù)據(jù)Long.parseFloat()將字符串轉(zhuǎn)換為長整型數(shù)據(jù)Float.parseFloat()將字符串轉(zhuǎn)換為單精度浮點型數(shù)據(jù)Double.parseDouble()將字符串轉(zhuǎn)換為雙精度浮點型數(shù)據(jù)4.注意代碼書寫的規(guī)范性和速度性:類名首字母大寫,變量、main()主方法語句和方法及對象的首字母小寫。但在C#中Main()主方法都是大寫的5.掌握循環(huán)語句結(jié)構(gòu)。(二)java面向?qū)ο?OOP)(類與對象,繼承抽象類與接口)1. OOP的三大特性:在OOP中,現(xiàn)實世界的所有事物都成為對象。(1)封裝:將對象的數(shù)據(jù)和方法結(jié)合,由方法將對象的數(shù)據(jù)實現(xiàn),并實現(xiàn)對象的數(shù)據(jù)隱藏。(2)繼承:子類繼承父類的變量和方法,實現(xiàn)代碼的重用。具有傳遞性。(3)多態(tài):對外一個接口,內(nèi)部多種實現(xiàn)。使程序具有可擴展性,可維護性。2.類:是對某一類事物的描述,是抽象的、概念上的定義;對象:是對類的具體實現(xiàn),可以說是個實例。在使用類之前必須先定義再聲明并創(chuàng)建對象。3.類與對象的定義:類的修飾符class類名extends 父類implements 接口類的頭部成員變量的聲明成員方法的聲明類名 對象名;/聲明對象對象名=new 類名();/創(chuàng)建對象對象名.成員變量名;/訪問對象的成員變量對象名.成員方法名();/訪問對象的成員方法(1)類體:包括類成員變量的聲明、構(gòu)造方法和成員方法的聲明與定義。(2)類的封裝:可以通過Public、protected、private和默認的訪問權(quán)限來定義。(3)方法重載:允許在一個類的定義中,多個方法使用相同的方法名稱,但是不同的參數(shù)。方法的重載也是實現(xiàn)多態(tài)性的一種形式。this.(該類自己)。(4)構(gòu)造方法:一般情況默認為不帶參數(shù),并且方法體為空。但有其它構(gòu)造方法時必須在類中先聲明。構(gòu)造方法很特殊:名稱必須與類名相同,且不能有返回值,更不能直接調(diào)用該方法,必須通過new來調(diào)用它。(5)對象的創(chuàng)建:聲明變量,實例化,通過new。(6)對象的使用:引用對象的變量,調(diào)用對象的方法。(7)類的繼承:java類的繼承是單繼承,不能有多繼承。通過extends來實現(xiàn)繼承。被繼承的類叫父類,繼承父類的類叫子類。創(chuàng)建子類的格式:class 子類名 extends 父類名 (8)extends關(guān)鍵字:定義的類中指出父類,默認的父類都是object類。(9)super關(guān)鍵字:指向它所在類的父類。用來引用父類中的成員方法或成員變量。調(diào)用父類中的方法。Super()表示調(diào)用父類的構(gòu)造方法,和this一樣必須放在第一行,this()用于調(diào)用本類的構(gòu)造方法。如果沒有定義構(gòu)造方法,就會調(diào)用父類的無參構(gòu)造方法,即super()(10)子類對象的創(chuàng)建與實例化步驟:分配對象所需的空間、繼承并初始化、繼承并調(diào)用構(gòu)造方法。(11)方法重寫:子類中父類成員的隱藏,當變量名相同時,子類成員的變量會隱藏父類成員變量。當子類的方法與父類具有相同的名字、參數(shù)、類型的返回值時,子類重寫了父類的方法,父類中的方法被隱藏起來。子類可以改寫父類所實現(xiàn)的功能,但子類中重寫的方法必須與父類的方法有一樣的返回值、方法名、以及參數(shù)。注意的是重寫時訪問修飾符不能變小,即訪問權(quán)限不能縮小,可以擴大或與其相等。(12)多態(tài):指的是一個對象的行為方式可以在子類中使用,子類的對象繼承了父類的對象,是從一個父類派生的許多子類都可以有相同的類型,將一種子類對象引用轉(zhuǎn)換成父類對象的引用。父類對象的調(diào)用可以在子類對象中實現(xiàn)。(13)接口:java中的接口是一種特殊的抽象類,是若干完成某一特定功能的沒有方法體的方法(抽象方法)和常量的集合(14)接口與抽象類以及繼承的區(qū)別:A:接口中不能有非抽象方法,但抽象類中可以有。B:一個類能實現(xiàn)多個接口,但只能有一個父類。C:接口并不屬于繼承結(jié)構(gòu),它實際與繼承無關(guān),所以無關(guān)的類也可以實現(xiàn)同一個接口。D:抽象類:包含了抽象方法的類叫抽象類。如果一個類中包含了一個或多個抽象方法,類就必須指定成abstract(抽象)。抽象類的定義:abstract 類名聲明成員變量 ;返回值類型 方法名參數(shù);abstract 返回值類型 方法名(參數(shù));E:接口(interface)它可以創(chuàng)建一個類:方法名、自變量以及返回值類型,不規(guī)定方法體。一個接口中所有方法為公開、抽象的方法,所有的屬性都是公開、靜態(tài)、常量。類必須實現(xiàn)接口,否則變成了一個抽象類了。接口與接口之間可以定義繼承關(guān)系,并且接口間運行實現(xiàn)多繼承。接口的定義:publicinterface 接口名extends 父接口列表publicstaticfinal 數(shù)據(jù)類型 成員變量名=常量;publicabstract返回值的數(shù)據(jù)類型 方法名(參數(shù));F:創(chuàng)建接口應(yīng)使用interface關(guān)鍵字,不要用class,可以在interface關(guān)鍵字前加上public關(guān)鍵字(只有接口定義在同一個名的文件內(nèi)才行),或者用friendly“友好類”。G:implements(實現(xiàn))關(guān)鍵字可以生產(chǎn)與一個特定的接口(或一組接口)相符的類。注意的是:在java中不能實現(xiàn)多重繼承但可以同時實現(xiàn)很多個接口。Java接口中定義的方法在不同的地方被實現(xiàn),可以具有完全不同的行為。(15)static關(guān)鍵字:用static聲明的成員變量為靜態(tài)成員變量,是該類的公用變量。用static聲明的方法為靜態(tài)方法,調(diào)用時可以通過對象引用或類名(不用實例化)訪問靜態(tài)成員。(16)常量:是一種標示符,值是不變的,在成序中只能被引用,不能被重新賦值,加入final關(guān)鍵字代表常量,加入static關(guān)鍵字代表類變量。(17)覆蓋(overriding)也是java語言多態(tài)的技巧之一。方法的覆蓋(也叫方法的重寫)應(yīng)注意的是:A:子類中不能覆蓋父類中的final或static成員。B:類的繼承具有傳遞性,即子類繼承父類的所有非私有成員,也繼承父類的父類直至祖先所有的非私有成員。覆蓋不適用于靜態(tài)方法。覆蓋方法是從低向高轉(zhuǎn):Byte-short-int-double(18)面向?qū)ο笕筇匦钥偨Y(jié):OOP基本特征定義具體實現(xiàn)方法優(yōu)勢封裝隱藏實現(xiàn)細節(jié),對外提供公共的訪問接口。屬性私有化、添加共有的setter、getter方法。增強代碼的可維護性。繼承從一個已有的類派生出新的類,子類具有父類的一般特性,以及自身特殊的特性。繼承需要符合的關(guān)系:is-a實現(xiàn)抽象、增強代碼的可復用性。多態(tài)同一個實現(xiàn)接口,使用不同的實例而執(zhí)行不同的操作。通過java接口/繼承來定義同樣的實現(xiàn)接口;通過方法重寫為不同的實現(xiàn)類/子類定義不同的操作。增強代碼的可擴展性、可維護性。(19)java中關(guān)鍵字final、finally、finalize的各自用法: final修飾符(關(guān)鍵字)如果一個類被聲明為final,意味著他不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為abstract的,又被聲明為final的。將變量或方法聲明為final,能確保他們在使用中不被改動。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。(final可以修飾類、屬性、方法)。Public final void print()這樣的方法為一個不可覆蓋的方法。如果在父類中有final定義的方法,則在子類中繼承同一個方法。(final并不涉及繼承) finally在異常處理時提供finally塊來執(zhí)行所有清除操作。如果拋出一個異常,那么相匹配的catch子句就會執(zhí)行,然后控制就會進入finally塊(如果有的話)。 finalize方法名。Java技術(shù)允許使用finalize()方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調(diào)用的。他是在Object類中定義的,因此所有的類都繼承了他。子類覆蓋finalize()方法以整理系統(tǒng)資源或執(zhí)行其他清理工作。finalize()方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的。(三)java程序的數(shù)組與字符串1.數(shù)組:(1) 數(shù)組:是數(shù)據(jù)類型相同、變量數(shù)目一定的有序集合,數(shù)組是一種復合數(shù)據(jù)類型。(2) 使用數(shù)組四步走:A:聲明數(shù)組:eg :int a; B:分配空間: eg: a=new int6; C:f賦值: eg: a0=7; D:處理數(shù)據(jù): eg:a0=a0*10;(3) Java中的數(shù)組下標同C語言一樣為:下標不能越界,最大下標是長度減去1,但在C語言中下標越界時程序不能編譯成功。而在 java中下標越界程序編譯能通過,在運行時則會出現(xiàn)程序異常!這是與C語言的不同。(4) Java數(shù)組聲明:數(shù)據(jù)元素類型 數(shù)組名; 或者 數(shù)據(jù)元素類型 數(shù)組名;這也與C語言的數(shù)組聲明有所不同!2. 字符串:(1) 在java中字符串是當作對象來處理的,而C/C+是把字符串當作字符數(shù)組來處理的。(2) 字符串連接方法:方法一:使用“+”連接;方法二:使用String類的Concatenate()方法。(3) 字符串常用的提取方法:indexOf()從前面查;lastIndexOf()從后面查。(4) 取子串方法:substring(5) 在C#中是取子串長度(串長);而java中是取子串位置;(6) 在C#中大寫為Trim()去前后空格;java中為小寫trim()去前后空格。(7) trim():返回一個前后不含任何空格的調(diào)用字符串的副本。(8) equals(區(qū)分大小寫):比較字符串里的內(nèi)容是否一樣,和C#中的用法一樣。在java中:A: .equalsignoreCase()方法忽略大小寫。 .toupperCase():方法;轉(zhuǎn)換成大寫字符串。 .toLowerCase()方法:轉(zhuǎn)換成小寫字符串。3字符串轉(zhuǎn)換為數(shù)值型數(shù)據(jù)方法用:parse;數(shù)值型轉(zhuǎn)換為字符串用“+”號對字符串做連接操作。(1)Eg:把123轉(zhuǎn)換成字符串的方法:方法一: String.valueOf(123):方法二: new Integer(123).toString();方法三: Integer.valueOf(123).toString();方法四: Integer integer=new Integer(123);integer.toString();(2)Eg:把字符串“123”轉(zhuǎn)換為整型:Integer.valueOf(“123”).intvalue();(3)Eg:把字符串“123”和”456轉(zhuǎn)換為整型數(shù)據(jù)并求和:方法一:Integer.valueOf(“123”).invalue()+Integer.valueOf(“456”).intvalue();方法二:Integer.parseInt(“123”)+Integer.parseInt(“456”);注意:學習字符串應(yīng)掌握String類和StringBuffer類,各種數(shù)據(jù)類型之間的相互轉(zhuǎn)換對學習java窗體應(yīng)用時很有幫助?。ㄋ模﹋ava程序的流技術(shù)以及異常處理:1. java程序為什么需要對程序進行異常處理?當Java程序違反了Java的語義規(guī)則時,Java虛擬機就會將發(fā)生的錯誤表示為一個異常。違反語義規(guī)則包括2種情況:一種情況是Java類庫內(nèi)置的語義。例如數(shù)組下標界,IndexOutOfBoundsException;訪問null的對象時會引NullPointerException。另一種情況就是Java允許程序員擴展這種語義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時用throw關(guān)鍵字引發(fā)異常。所有的異常都是java.lang.Thowable的子類。2.異常處理:trycatchfinally語句。語句格式:trycatch(*Exception e)/用子類捕獲catch(*Exception e)異常發(fā)生時的處理語句/用父類捕獲 finallyfinally語句跟在trycatch語句后面,無論try代碼塊中有沒有發(fā)生異常,finally語句總會被無條件執(zhí)行。3.如果在當前環(huán)境無法解決一個異常程序,就需要將其拋出,拋出異常交給調(diào)用者處理:(1)異常拋出:throw(拋出異常)語句、throws(聲明異常)語句。(2)在不使用trycatch語句或throws的前提下,只可以拋出運行時異常對象RuntimeException。(3)throw語句和throws語句的語法格式:方法名參數(shù)throws異常類1,異常類2if(異常條件1成立)throw new異常類1().4. Error與Exception比較: Error表示系統(tǒng)級的錯誤和程序不必處理的異常, Exception表示需要捕捉或者需要程序進行處理的異常。5.java流技術(shù)(輸入輸出處理):java流技術(shù)包括字節(jié)流和字符流。(1)字節(jié)流:A:字節(jié)流分為輸入字節(jié)流和輸出字節(jié)流。B:抽象類java.io.InputStream用于表示所有輸入字節(jié)流。C:抽象類java.io.OutputStream用于表示所有輸出字節(jié)流。D:所有的流類對象在使用前必須打開,在使用后必須關(guān)閉。E:java.io.InpurStream Class:該抽象類作為所有輸入字節(jié)流類的基類,聲明用于讀取字節(jié)流數(shù)據(jù)的通用方法。Public abstra int read(). F:java.io.OutputStream Class:該抽象類作為所有輸出字節(jié)流類的基類,聲明用于輸出字節(jié)流數(shù)據(jù)的通用方法:public abstract void write(int b).(2)字符流:A:字符流可分為輸入字符流和輸出字符流。B:抽象類java.io.Reader用于表示所有輸入字符流。C:抽象類java.io.Writer用于表示所有輸出字符流。D:java.io.Read Class:該抽象類作為所有輸入字符流類的基類,聲明用于讀取輸入字符文本數(shù)據(jù)的通用方法:public int read()。E:java.io.Write Class:該抽象類作為所有輸出字符流類的基類,聲明用于輸出字符文本數(shù)據(jù)的通用方法。(3)Reader類與InputStream類的不同點:A:Reader類的子類必須實現(xiàn)抽象方法close方法。B:InputStream類的方法返回未讀入的數(shù)據(jù)的字節(jié)數(shù),而Reader類的方法只能返回是否還有可讀入的字符數(shù)據(jù)。(4) jav

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論