寫這個(gè)java學(xué)習(xí)總結(jié)_第1頁(yè)
寫這個(gè)java學(xué)習(xí)總結(jié)_第2頁(yè)
寫這個(gè)java學(xué)習(xí)總結(jié)_第3頁(yè)
寫這個(gè)java學(xué)習(xí)總結(jié)_第4頁(yè)
寫這個(gè)java學(xué)習(xí)總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 Java學(xué)習(xí)總結(jié)JAVA一直是很多人喜愛的一種編程語(yǔ)言,學(xué)習(xí)JAVA需要多看SUN公司提供我們的資料信息,了解常用類的屬性和方法。我們?cè)谟贸S妙惖臅r(shí)候,經(jīng)常會(huì)把類里面的方法和自定義的方法搞混。記得有一位老師說過“學(xué)習(xí)要抱有一種鉆研的態(tài)度”。我對(duì)這句話的理解是當(dāng)我們學(xué)習(xí)到一個(gè)新的知識(shí)點(diǎn)的時(shí)候,需要不斷理解和消化。這可能是一個(gè)長(zhǎng)期的過程,不能抱有一種急于求成的態(tài)度。以下內(nèi)容是這個(gè)學(xué)期以來(lái)我總結(jié)的java基礎(chǔ)知識(shí)點(diǎn)。一、SDK和JDK的區(qū)別 SDK是軟件開發(fā)工具包,JDK是SK的一種,其實(shí)它是JAVA SDK。JDK在早期的版本中也是叫SDK,在1.2版本以后才叫JDK。二、J2EE、J2SE、J

2、2ME區(qū)別J2EE:JAVA2平臺(tái)的企業(yè)版,主要應(yīng)用于WEB和大型企業(yè)的開發(fā)。J2SE:JAVA2平臺(tái)的標(biāo)準(zhǔn)版,學(xué)習(xí)和一般的開發(fā)。它包含于J2EE。J2ME:JAVA2平臺(tái)的微縮版,主要應(yīng)用于電子設(shè)備(手機(jī))方面,它包含有J2SE的核心部分之外,還有一個(gè)專業(yè)的類。三、JVM的運(yùn)行機(jī)制類加載類校驗(yàn)類執(zhí)行 四、JAVA、JAVAC、JAVADOC的用法JAVA:JAVA解釋器用于執(zhí)行JAVA字節(jié)碼。它所執(zhí)行的是一個(gè)類并不是一個(gè)文件,所以后面類的名字區(qū)分大小寫。JAVAC:JAVAC解釋器用于將JAVA源代碼編譯字節(jié)碼。JAVADOC:JAVADOC用于從程序源代碼中抽取類、方法等注釋形成一個(gè)和源代

3、碼配套的API文檔。它執(zhí)行的也是一個(gè)以.JAVA為擴(kuò)展名的源文件,所以后面的文件名不區(qū)分大小寫。五、JAVA標(biāo)識(shí)符1、標(biāo)識(shí)符由數(shù)字、字母下劃線“_”或“$”符號(hào)組成。2、標(biāo)識(shí)符必須以字母、下劃線“_”或“$”符號(hào)開頭。3、不能使用JAVA關(guān)鍵字。4、字母區(qū)分大小寫六、數(shù)據(jù)類型1 原始數(shù)據(jù)類型2 數(shù)值類型l BYTEl 整型:SHORT、INT、INTl 浮點(diǎn):FLOAT、DOUBLE2 BOOLEAN類型1 引用數(shù)據(jù)類型2 數(shù)組2 類2 接口七、變量變量可分為類變量、局部變量、方法變量。類變量在定義時(shí)就有默認(rèn)值,數(shù)值類型的默認(rèn)為0,CAHR的默認(rèn)a,BOOLEAN默認(rèn)FALSE。方法變量中沒有

4、默認(rèn)值,需要賦值才能使用。八、類和對(duì)象的區(qū)別類是對(duì)象的模板,對(duì)象是類的特例類是抽象的,客觀上并不存在的對(duì)象是具體的,是客觀存的九、類的構(gòu)造方法構(gòu)造方法具有和類相同的名字,它是一個(gè)沒有返回值的方法。有隱式構(gòu)造方法和自定義構(gòu)造方法兩種。JVM在沒有自定義造構(gòu)方法時(shí)提供一個(gè)沒有參數(shù)也沒有方法主體的默認(rèn)構(gòu)造方法。但是如果有自定義的構(gòu)造方法時(shí),JVM不再提供默認(rèn)的構(gòu)造方法。如果在類的實(shí)例化是需要用默認(rèn)構(gòu)造方法時(shí),必須顯示的定義。十、方法的重載可以對(duì)構(gòu)造方法或者自定義的方法進(jìn)行重載,對(duì)方法的重載必須滿足以下三個(gè)條件:1、參數(shù)個(gè)數(shù)不同2、參數(shù)類型不同3、參數(shù)順序不同十一、面向?qū)ο蟮奶匦?、封裝2、繼承3、多

5、態(tài)十二、繼承的特性繼承允許重用現(xiàn)有的類來(lái)構(gòu)造新類的機(jī)制。在繼承中具有如下特性:1、默認(rèn)繼承Object2、單繼承,只能有一個(gè)父類3、子類繼承父類除private以外的全部成員和方法。十三、方法的重寫構(gòu)成方法重寫的條件:1、兩個(gè)繼承關(guān)系的類里2、方法名、返回值、參數(shù)必須一致。十四、靜態(tài)(變量、方法、塊)靜態(tài)類型的變量或方法都是屬于類的,并不是屬某個(gè)具體對(duì)象的。所以也稱類變量和類方 法,所有對(duì)象共享一份類變量。定義類變量或類方法的關(guān)鍵字是static。靜態(tài)塊是在類第一次 加載時(shí)執(zhí)行。它的作用是初始化類變量成員。十五、抽象類抽象類是具體抽象方法的、不可以實(shí)例化對(duì)象的類。構(gòu)成抽象類的條件:a) 具有一

6、個(gè)以上的抽象方法。b) 繼承一個(gè)抽象類,但沒有實(shí)現(xiàn)全部的抽象方法。c) 繼承一個(gè)接口,沒有實(shí)現(xiàn)全部的抽象方法。十六、異常Error:內(nèi)部錯(cuò)誤,不期望用戶捕獲的一種錯(cuò)誤。try語(yǔ)句:try句子里面主要是放置要監(jiān)控的程序句子catch:以合理的方式捕獲和處理異常,主有try語(yǔ)句出錯(cuò)才會(huì)執(zhí)行。finally:釋放資源,不管try里面的語(yǔ)句是否出錯(cuò)都要執(zhí)行。throw:手動(dòng)引發(fā)異常throws:由方法引發(fā)的異常多層捕獲:異常子類一定要位于異常父類之前。最后一個(gè)catch塊要用Exception捕獲,以便捕獲到所有異常。執(zhí)行其中一條catch語(yǔ)句之后,其它的catch將被忽略。以上的內(nèi)容不包括JAVA界

7、面方面的知識(shí),JAVA界面的開發(fā)需要用JBUILDER和一些專用的類,這些類在SUN公司幫助里都可以查到詳細(xì)的說明??偟膩?lái)說,經(jīng)過以上幾點(diǎn)的理解會(huì)更加深刻了,對(duì)以前看書感到迷惑的知識(shí)點(diǎn)現(xiàn)在可以幫助消化吸收。java語(yǔ)言產(chǎn)生于C語(yǔ)言之后,是完全的面向?qū)ο蟮木幊陶Z(yǔ)言,充分吸取了C語(yǔ)言的優(yōu)點(diǎn),采用了程序員所熟悉的C和C語(yǔ)言的許多語(yǔ)法,同時(shí)又去掉了C語(yǔ)言中指針、內(nèi)存申請(qǐng)和釋放等影響程序健壯性的部分,可以說java語(yǔ)言是站在C語(yǔ)言這個(gè)"巨人的肩膀上"前進(jìn)的。java采用的是相對(duì)簡(jiǎn)單的面向?qū)ο蠹夹g(shù),去掉了運(yùn)算符重載、多繼承的復(fù)雜概念,而采用了單一繼承、類強(qiáng)制轉(zhuǎn)換、多線程、引用(非指針)

8、等方式。在java程序中不能采用地址計(jì)算的方法通過指針訪問內(nèi)存單元,大大減少了錯(cuò)誤發(fā)生的可能性;而且java的數(shù)組并非用指針實(shí)現(xiàn),這樣就可以在檢查中避免數(shù)組越界的發(fā)生。無(wú)用內(nèi)存自動(dòng)回收機(jī)制也增加了java的魯棒性。 JAVA執(zhí)行過程 : 1.java程序的編輯可以使用任何一種文本編輯器,例如UltraEdit、Notepad、Wordpad甚至word,然后只要把編輯好的文件存成.java文件。當(dāng)然也可以用一些集成開發(fā)環(huán)境,例如Borland公司的JBuilder,IBM公司的Visualage for Java,此外還有cafe、kawa等其它集成開發(fā)環(huán)境。下面兩幅圖分別

9、是用UltraEdit和JBuilder編輯Property.java文件的情況。2.Sun公司為全世界的java程序員提供了一個(gè)免費(fèi)的java程序開發(fā)包(Java Develop Kit,簡(jiǎn)稱JDK),其中包括了java編譯器命令"javac",以及java執(zhí)行命令"java",還有幫助文檔生成器命令"javadoc"等等。所有這些命令都可以在命令行下運(yùn)行,例如我們要編譯上述java文件Property.java,如果是在windows中進(jìn)行開發(fā),就可以在"命令提示符"下進(jìn)行編譯,在命令行中敲入"jav

10、ac Property.java"  3.當(dāng)編譯結(jié)束以后,在java源文件中的每一個(gè)類都會(huì)生成相應(yīng)的 .class 文件,例如上圖中就會(huì)生成一個(gè)Property.class文件,而java程序在執(zhí)行時(shí)調(diào)用的是.class 文件。Java application的執(zhí)行是在命令行下進(jìn)行的,如果是在windows系統(tǒng)中,就可以"命令提示符"下敲入"java Propery"進(jìn)行執(zhí)行,該"java"命令會(huì)啟動(dòng)java虛擬機(jī),并讀入Property.class文件進(jìn)行執(zhí)行。J2SE的知識(shí)和技巧1. 只有創(chuàng)建了對(duì)象,它才能分配

11、到內(nèi)存,方法也才能用。作用是分配內(nèi)存。2. 方法equals(),比較對(duì)象的內(nèi)容而不是reference.3. 對(duì)于前置遞增和前置遞減,(也就是+a和a),操作過程是會(huì)先計(jì)算再返回。4. 對(duì)于后置遞增和后置遞減,(也就是a+和a),操作步驟是先返回再計(jì)算。5. 比較兩個(gè)對(duì)象的實(shí)際內(nèi)容,使用每一個(gè)類都有的equals()方法。6. 如果你創(chuàng)建了自己的類,再使用equals()方法的缺省行為是比較reference.所以,在新類里覆寫(override)equals()方法。7. 將float或double轉(zhuǎn)換成整數(shù)的時(shí)候,它總是將其后面的小數(shù)截去。8. Math.random()會(huì)生成0.0,用

12、數(shù)學(xué)術(shù)語(yǔ),它的值域是0,1)(方括號(hào)表示包括,而括號(hào)表示“不包括”)9. 如果你寫了一個(gè)沒有構(gòu)造函數(shù)的類,那么編譯器會(huì)自動(dòng)為你創(chuàng)建一個(gè)默認(rèn)的構(gòu)造函數(shù)。10. 只要定義了構(gòu)造函數(shù)(不管帶不帶參數(shù)),編譯器就不會(huì)再自動(dòng)合成默認(rèn)的構(gòu)造函數(shù)了。11. 變量的初始化會(huì)先于任何方法,甚至是構(gòu)造函數(shù)的調(diào)用。12. 編譯單元里只能有一個(gè)public類。沒有public修飾,它是package權(quán)限了,只能用于package內(nèi)部。13. 取得當(dāng)前工作目錄,是文件系統(tǒng)中的java命令被調(diào)用的位置String curDir = System.getProperty("user.dir");14.

13、static成員只會(huì)在需要的時(shí)候初始化。第一次訪問static成員的時(shí)候被初始化。15. 每一個(gè)編譯單元(文件)只能有一個(gè)public類,只能一個(gè)公開的接口。根據(jù)需要文件里添加任意多個(gè)提供輔助功能的package權(quán)限的類。兩個(gè)以上public類,編譯器會(huì)報(bào)錯(cuò)。Java語(yǔ)言學(xué)習(xí)的要點(diǎn)1. 學(xué)習(xí)的目的是為了將來(lái)進(jìn)行應(yīng)用程序的開發(fā),而不是進(jìn)行語(yǔ)言理論研究2. 將來(lái)的應(yīng)用開發(fā)是在成熟的平臺(tái)上展開,而不是自己從底層開發(fā)平臺(tái)一、掌握靜態(tài)方法和屬性靜態(tài)方法和屬性用于描述某一類對(duì)象群體的特征,而不是單個(gè)對(duì)象的特征。Java中大量應(yīng)用了靜態(tài)方法和屬性,這是一個(gè)通常的技巧。但是這種技巧在很多語(yǔ)言中不被頻繁地使用。

14、理解靜態(tài)方法和屬性對(duì)于理解類與對(duì)象的關(guān)系是十分有幫助的,在大量的Java規(guī)范中,靜態(tài)方法和屬性被頻繁使用。因此學(xué)習(xí)者應(yīng)該理解靜態(tài)方法和屬性。Java在方法和屬性的調(diào)用上是一致的,區(qū)別只表現(xiàn)在聲明的時(shí)候,這和c+是不同的。二、重視接口在面向?qū)ο笤缙诘膽?yīng)用中大量使用了類繼承。隨著軟件工程理論的不斷發(fā)展,人們開始意識(shí)到了繼承的眾多缺點(diǎn),開始努力用聚合代替繼承。軟件工程解決擴(kuò)展性的重要原則就是抽象描述,直接使用的工具就是接口。接口近年來(lái)逐漸成為Java編程方法的核心。另一方面,就應(yīng)用而言,大部分開發(fā)是建立在規(guī)范基礎(chǔ)之上的,不需要自己建立復(fù)雜的繼承關(guān)系和龐大的類。因此讀懂規(guī)范和用好規(guī)范已經(jīng)成為應(yīng)用程序開

15、發(fā)人員的首要任務(wù),Java各項(xiàng)規(guī)范的主要描述手段就是接口。三、學(xué)好集合框架Java描述復(fù)雜數(shù)據(jù)結(jié)構(gòu)的主要方式是集合框架。Java沒有指針,而是通過強(qiáng)大的集合框架描述數(shù)組、對(duì)象數(shù)組等復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。學(xué)好這些數(shù)據(jù)結(jié)構(gòu)的描述方法對(duì)于應(yīng)用程序編寫,特別是涉及到服務(wù)器方、3層結(jié)構(gòu)編程至關(guān)重要。程序員在這個(gè)時(shí)候不能再用諸如數(shù)據(jù)庫(kù)結(jié)果集之類的結(jié)構(gòu)描述數(shù)據(jù)了。由于很多語(yǔ)言沒有這么強(qiáng)大的集合框架體系,很多初學(xué)者不知所措,更不知道拿來(lái)做什么用,因此應(yīng)該引起足夠的重視。四、例外捕捉Java對(duì)例外捕捉的強(qiáng)調(diào)是空前的,它強(qiáng)迫程序員用顯著的與邏輯方法完全不同的方式描述例外捕捉,對(duì)于程序描述的完整性和嚴(yán)謹(jǐn)性有很大的意義。c

16、+也有類似的機(jī)制,但是我們看到很多c+程序員并不習(xí)慣使用這些機(jī)制。Java的初學(xué)者應(yīng)該充分學(xué)習(xí)好這種例外捕捉機(jī)制,養(yǎng)成良好的編程習(xí)慣。五、多線程需要理解機(jī)理很多Java程序員熱衷于多線程程序編寫,認(rèn)為是對(duì)邏輯能力的挑戰(zhàn)。其實(shí)在大量應(yīng)用中根本就不需要編寫多線程程序,或者說大多數(shù)編寫應(yīng)用程序的程序員不會(huì)去寫多線程程序。這是因?yàn)槎嗑€程機(jī)制都內(nèi)置到基礎(chǔ)平臺(tái)當(dāng)中了。程序員應(yīng)該了解的是多線程原理和多線程安全,這對(duì)于今后準(zhǔn)確地把握程序是至關(guān)重要的。例如JSP中編寫到不同的位置對(duì)于多個(gè)用戶環(huán)境的安全影響完全不同,又如著名的Super Servlet是每一個(gè)訪問作為一個(gè)進(jìn)程,但是每一個(gè)頁(yè)面是一個(gè)線程,和Serv

17、let正好相反,對(duì)程序的性能和安全的影響有天壤之別。六、了解java網(wǎng)絡(luò)編程Java號(hào)稱是最強(qiáng)的網(wǎng)絡(luò)編程語(yǔ)言,但是大多數(shù)應(yīng)用程序開發(fā)人員是從來(lái)不會(huì)自己開發(fā)什么底層的網(wǎng)絡(luò)程序的。需要做只是了解原理就夠了。網(wǎng)絡(luò)機(jī)制的實(shí)現(xiàn)是靠平臺(tái)實(shí)現(xiàn)的,除非自己開發(fā)平臺(tái),否則是不需要知道socket怎么實(shí)現(xiàn),怎么監(jiān)聽訪問的。因此在這方面花太多的功夫就偏離了“將來(lái)的應(yīng)用開發(fā)是在成熟的平臺(tái)上展開,而不是自己從底層開發(fā)平臺(tái)”這一假設(shè)1.欲速則不達(dá),初學(xué)者請(qǐng)不要被新技術(shù)迷惑,先把基礎(chǔ)學(xué)扎實(shí)。 JAVA2入門教材完全是適合初學(xué)者的,配合有視頻講解,大家可以免費(fèi)索取,并不是它說了多少知識(shí),多少api.它只說了更多的“基礎(chǔ)知識(shí)”

18、2.要扎扎實(shí)實(shí),一步一個(gè)腳印的逐步學(xué)習(xí),不要想著一步登天。給自己定一個(gè)學(xué)習(xí)流程,按照流程學(xué)習(xí)。不要看到大家都在學(xué)J2EE了,就去學(xué)J2EE發(fā)現(xiàn)大家又在討論JSP,又放下J2EE去學(xué)JSP.浮躁的人永遠(yuǎn)學(xué)不到什么東西。3.多查API,它是Java編程的基本方法,也是編程過程中所不斷利用的資源。Java的學(xué)習(xí)過程不僅僅是基本語(yǔ)法的學(xué)習(xí),更多的是去學(xué)習(xí)和掌握它所提供的API類庫(kù)。對(duì)于所接觸到的類,方法,都去仔細(xì)去閱讀文檔的說明,再用自己編寫的實(shí)例去此時(shí)一下。4.看再多的書是學(xué)不全腳本的,要多實(shí)踐 ,學(xué)習(xí)腳本最好的方法之一就是多練習(xí); 不要只看不練,一定要把書上的例子親手敲到電腦上實(shí)踐,千萬(wàn)不要照抄,更不要復(fù)制粘貼; 看得懂代碼,不代表會(huì)寫代碼。學(xué)編程語(yǔ)言不僅僅是從理論上的學(xué)習(xí),更重要的是要利用這門語(yǔ)言為你的思想服務(wù)。理解這門語(yǔ)言是首要的,但是要達(dá)到心領(lǐng)神會(huì)、融會(huì)貫通就必須勤動(dòng)手,多去時(shí)間

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論