久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

java總結(jié)[共5篇]

時(shí)間:2019-05-13 11:07:11下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《java總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《java總結(jié)》。

第一篇:java總結(jié)

將數(shù)據(jù)成員聲明為靜態(tài)的,那么每次調(diào)用的時(shí)候,靜態(tài)成員的值并不會(huì)因之而改變。

如果想在主函數(shù)調(diào)用函數(shù)(不是有對(duì)象進(jìn)行調(diào)用),比如while(test()),那么test()必須聲明為靜態(tài)的。

構(gòu)造器,在c++中叫構(gòu)造函數(shù),也可以叫做構(gòu)造方法,每當(dāng)創(chuàng)建一個(gè)對(duì)象的時(shí)候,就會(huì)調(diào)用構(gòu)造器。

構(gòu)造器可以分為默認(rèn)構(gòu)造器和帶參數(shù)的構(gòu)造器,默認(rèn)構(gòu)造器就是無參的構(gòu)造器,構(gòu)造器的作用是使類中的成員初始化。

。構(gòu)造器的互相調(diào)用可以使用this,主要就是在構(gòu)造器內(nèi)使用this(參數(shù)),里面的參數(shù)個(gè)數(shù)和類型決定調(diào)用什么構(gòu)造器。

java中初始化的順序,首先是創(chuàng)建一個(gè)對(duì)象,如果是創(chuàng)建的靜態(tài)的對(duì)象和非靜態(tài)的對(duì)象,先調(diào)用靜態(tài)的對(duì)象,然后系統(tǒng)就會(huì)在堆中給他分配內(nèi)存空間,如果在靜態(tài)對(duì)象的類中有靜態(tài)的成員類和非靜態(tài)的成員類,先初始化靜態(tài)的成員類,然后在調(diào)用非靜態(tài)的成員類,最后調(diào)用自己的構(gòu)造函數(shù),如果在主函數(shù)創(chuàng)建的是非靜態(tài)的對(duì)象,如果創(chuàng)建的類中有靜態(tài)成員類,不進(jìn)行初始化,只進(jìn)行非成員類的初始化,最后執(zhí)行自己的構(gòu)造函數(shù)。

引進(jìn)類庫(kù)的時(shí)候要注意如果引進(jìn)的是同名的類或者方法,在不使用的情況下,系統(tǒng)不會(huì)報(bào)錯(cuò),但是,一不小心就會(huì)有錯(cuò)誤。,但是,如果類中的私有方法不能被繼承,在向上轉(zhuǎn)型的時(shí)候就會(huì)出錯(cuò),所以多態(tài)并不適合私有方法。而final不能被覆蓋,所以在運(yùn)行的時(shí)候也會(huì)出錯(cuò)。如果使用static,父類的靜態(tài)方法會(huì)被子類的靜態(tài)方法隱藏,而父類是靜態(tài),子類不是靜態(tài)的,則會(huì)編譯出錯(cuò)。

空白final增加了程序的靈活性,但必須在構(gòu)造器中給他賦值(可以是有參的構(gòu)造器,也可以是無參的構(gòu)造器),你可以定義一個(gè)final類,里面的屬性是可以引用改變它。

抽象類,如果父類是抽象類,則需要把父類的方法在子類中全部實(shí)現(xiàn),如果父類不是抽象類,而父類的父類是抽象類,不需要將方法實(shí)現(xiàn)。如果方法是抽象的,那么就需要把類也定義成抽象的。

如果抽象類有final,static定義的方法,則子類中的方法不需要實(shí)現(xiàn)的。私有的更沒法實(shí)現(xiàn)了。因此,當(dāng)我們實(shí)現(xiàn)一個(gè)接口的時(shí)候,就需要將接口的方法實(shí)現(xiàn),是因?yàn)榻涌诰褪浅橄蟮模诮涌谥兴械姆椒ǘ紱]有實(shí)例化。

在java中存在著內(nèi)部類,就是在類中定義類,這跟內(nèi)部成員類是有區(qū)別,內(nèi)部類可以將方法和屬性在這個(gè)類中實(shí)現(xiàn)初始化形如A.a a=t.new a()的形式。當(dāng)然也有匿名內(nèi)部類等。下面說下容器也叫集合。

容器有set list queue和map

你可以聲明一個(gè)容器來保存一個(gè)對(duì)象或多個(gè)對(duì)象,通常我們add方法和get方法將某個(gè)對(duì)象加入容器和得到加入容器的對(duì)象,如果父類添加到

容器的對(duì)象,那么子類也可以加入到容器中,但是,如果是子類的子類,那么你就需要提示當(dāng)前的是什么類型的,否則的話,編輯器將會(huì)報(bào)錯(cuò),下面來討論下加入容器中的順序與重復(fù)值的問題,list必須按照順序添加元素,而set不能有重復(fù)元素。

剛剛我們討論add方法每次加一個(gè)元素到容器中,那么是否可以天健一組元素到容器中那,那么,使用我們可以(容器對(duì)象)。addall方法

運(yùn)行速度相對(duì)較快,我們還可以使用Collections.addall(),把一些值賦給某個(gè)對(duì)象,而這種方法似乎方便的多。

還有許多排序方法,當(dāng)然,你可以再實(shí)踐中檢驗(yàn)當(dāng)前的排序問題。

下面有 continous,indexof remove等一些方法,還是需要在實(shí)踐中檢驗(yàn)。

迭代器是個(gè)好東西,他可以使容器的類型發(fā)生多用,要首先見對(duì)象轉(zhuǎn)換成iterator類型,那么就需要調(diào)用iterator()方法,下面就需要檢驗(yàn)它是否

有下一個(gè)值,如果有的話,就把它的下一個(gè)值傳給當(dāng)前容器的對(duì)象,本質(zhì)上傳的應(yīng)該是引用,下面就可以輸出當(dāng)前的引用,但是你可以賦給toString方法

使他可以傳進(jìn)一個(gè)對(duì)象進(jìn)來。對(duì)象的getfirst()和element()方法傳的是當(dāng)前對(duì)象的頭對(duì)象,如果為空,則拋出異常,peek()方法,如果列表為空,則

返回null。remove和removefirst()如果列表為空,則返回異常,否則,返回移除當(dāng)前的對(duì)象,poll()方法當(dāng)列表為空時(shí),返回null,addfirst和add和addlast

一樣都是把對(duì)象加到列表的尾部。

棧是先進(jìn)后出或后進(jìn)先出的容器就像子彈夾一樣。模擬下?? 就是addfirst()不斷的將元素加到列表的末尾,然后,removefirst將的第一個(gè)元素去掉。

set元素的鍵 值相對(duì),鍵使用的是keyset方法,值是value是方法。要想鍵值相對(duì),只需要使用兩個(gè)for循環(huán)。

queue是先進(jìn)先出的容器??? 使用offer方法將對(duì)象依次向后排,然后使用removefirst就可以發(fā)現(xiàn)隊(duì)列的性質(zhì)。

java異常

異常通常來捕捉錯(cuò)誤,這些錯(cuò)誤,分為Error錯(cuò)誤,這些錯(cuò)誤如 內(nèi)部?jī)?nèi)部錯(cuò)誤和資源耗盡錯(cuò)誤,通常是不可預(yù)知的,我們似乎通知用戶,無能為力,第二種是運(yùn)行錯(cuò)誤,在運(yùn)行錯(cuò)誤中,如果是文件操作,你不捕捉異常,系統(tǒng)將會(huì)報(bào)錯(cuò),而令一個(gè)錯(cuò)誤就是語法,這種錯(cuò)誤你可以盡可能的避免,但是有些錯(cuò)誤,在編程的時(shí)候還需要提醒用戶,而且盡可能的捕捉。

在異常處理的過程中如果在try{}中加入return語句,那么finally中的語句也會(huì)被執(zhí)行,拋出異常后,try{}下面的語句將不會(huì)被執(zhí)行,finally中的語句一定被執(zhí)行,但是如果finally語句

放在try{}和catch{}之間,那就悲劇了,可能會(huì)發(fā)生異常丟失,在構(gòu)造器中盡量不要捕捉異常。通常情況下,你知道怎樣捕捉異常才會(huì)去捕捉異常。

java

IO系統(tǒng)

javaIO系統(tǒng)通常進(jìn)行的文件的操作和網(wǎng)絡(luò)的操作和內(nèi)存的操作。有輸入流和輸出流,輸入流就是把文件或者網(wǎng)絡(luò)中的東西寫到內(nèi)存,輸出流就是把東西輸入到文件等。

輸入流通常使用的是write()方法將數(shù)據(jù)寫到文件。輸出流通常是通過read()方法將數(shù)據(jù)讀出來。在文件的外面可以加上緩沖流? 或者dateoutputstream來對(duì)整數(shù),double等進(jìn)行

操作。加入緩沖流可以提高速度,可以1行1行的讀。對(duì)文件進(jìn)行處理通常是字節(jié)和字符,有時(shí)候我們可以講字節(jié)轉(zhuǎn)化成字節(jié)。還有對(duì)壓縮文件的讀取等等。

java 線程

所謂線程? 就是一個(gè)程序有多個(gè)任務(wù)在執(zhí)行,每個(gè)任務(wù)都需要使他啟動(dòng),通常情況下需要將線程與集合聯(lián)系在一起,但在集合中有安全的和不安全的。那么線程將同步運(yùn)行。但是有時(shí)候我們通過start()方法來運(yùn)行線程是相當(dāng)消耗系統(tǒng)資源的,因此,java se5提供了一中

新的方法來啟動(dòng)線程,我們可以通過限制線程的數(shù)目來減小資源的浪費(fèi),如果我們想每次只啟動(dòng)一個(gè)線程,而且把這個(gè)線程結(jié)束,那么

就可以限制線程的數(shù)目為一。

當(dāng)然如果我們想加入一個(gè)線程,通常情況下,我們可以通過加入join()的方法,他會(huì)在某個(gè)線程結(jié)束之后,啟動(dòng)join()加入的線程,這個(gè)線程是可選的,如果這個(gè)線程被打斷了,通常這個(gè)線程會(huì)拋出異常,然后,join()方法加入的線程會(huì)立刻被執(zhí)行。

下面的就是圖形界面了。

可以添加按鈕,文本框,密碼框,和各種布局管理器。以及如何實(shí)現(xiàn)監(jiān)聽等等。感覺太沒意思了

下面就說下坦克大戰(zhàn)如何實(shí)現(xiàn)的。也就是多線程,圖形界面,各種類,監(jiān)聽,集合等構(gòu)成的像放電影一樣的由你操作的游戲。當(dāng)我們從鍵盤中進(jìn)行前進(jìn)或者退后的操作時(shí),那么面板中必須不斷重新畫出這個(gè)坦克,才能使我們感覺坦克在移動(dòng),那么以前的坦克哪里去了,那他肯定是垃圾了,所以一定會(huì)被回收,當(dāng)然畫出子彈的狀況也是如此。

而敵人的坦克也是這樣畫的,只不過是個(gè)死循環(huán)。

第二篇:java實(shí)用總結(jié)

java是一種解釋型語言,但它的源文件要編譯成java字節(jié)碼即.class文件,然后在java虛擬機(jī)里運(yùn)行.jsp是一種WEB開發(fā)技術(shù),它在特定的WEB容器里運(yùn)行,WEB容器先把jsp轉(zhuǎn)化成Servlet文件(即.java文件),然后編譯成.class文件然后在java虛擬機(jī)里運(yùn)行。javascript是一種瀏覽器腳本語言,它被瀏覽器解釋執(zhí)行.這三種語言都采用java的語法。

java包含三大分支:

1.J2SE--java standard edition--標(biāo)準(zhǔn)版本,這個(gè)是下面兩個(gè)的基礎(chǔ)!一般是位于客戶端的應(yīng)用;

2.J2ME--java Micro edition--一般位于嵌入式應(yīng)用,例如手機(jī)游戲

3.J2EE--java Enterprise Editon--一般為服務(wù)器端程序的應(yīng)用:例如JSP站點(diǎn)!

現(xiàn)在就知道J2EE是做什么的了吧

首先java它對(duì)開發(fā)基于Web的多層{即是J2EE}應(yīng)用提供了功能上的支持。它包含13種核心技術(shù)規(guī)范:

(1)Java Database Connectivity(JDBC)以一種統(tǒng)一的方式來對(duì)各種各樣的數(shù)據(jù)庫(kù)進(jìn)行存取

(2)Java Naming and Directory Interface(JNDI)用于名字和目錄服務(wù),它提供了一致的模型來存取和操作企業(yè)級(jí)的資源如DNS和LDAP,本地文件系統(tǒng)等

(3)Enterprise Java Beans(EJB)提供了一個(gè)框架來開發(fā)和實(shí)施分布式商務(wù)邏輯,顯著地簡(jiǎn)化了具有可伸縮性和高度復(fù)雜的企業(yè)級(jí)應(yīng)用的開發(fā)

(4)JavaServer Pages(JSPs)用以創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)(5)Java servlets提供的功能大多與JSP類似,不過實(shí)現(xiàn)的方式不同

(6)Remote Method Invocation(RMI)在遠(yuǎn)程對(duì)象上調(diào)用一些方法,使用了連續(xù)序列方式在客戶端和服務(wù)器端傳遞數(shù)據(jù)

(7)Interface Description Language(IDL)將Java和CORBA集成在一起

(8)Java Transaction Architecture(JTA)可以存取各種事務(wù)

(9)Java Transaction Service(JTS)規(guī)定了事務(wù)管理器的實(shí)現(xiàn)方式

(10)JavaMail 用于存取郵件服務(wù)器的API,它提供了一套郵件服務(wù)器的抽象類

(11)JavaBeans Activation Framework(JAF)JavaMmail利用JAF來處理MIME-編碼的郵件附件,MIME的字節(jié)流可以被轉(zhuǎn)換成JAVA對(duì)象,或者轉(zhuǎn)換自JAVA對(duì)象

(12)Java Messaging Service(JMS)是用于和面向消息的中間件相互通信的應(yīng)用程序接口(API)(13)Extensible Markup Language(XML)XML是一種可以用來定義其它標(biāo)記語言的語言

所以你說的JSP是Java在web上面[一般來說java的web應(yīng)用成為J2EE]的應(yīng)用的一個(gè)分支而已!

現(xiàn)在你也就知道JSP了哈!

很多初學(xué)習(xí)者對(duì)JavaScript、Java、Jsp、J2ee之間的關(guān)系與區(qū)別總是感到很困惑,為了幫助大家快速理解幾者之間的關(guān)系,我們進(jìn)行了如下解釋說明:

1.JavaScript用于編寫嵌入在網(wǎng)頁(yè)文檔中的程序,它由瀏覽器負(fù)責(zé)解釋和執(zhí)行,可以在網(wǎng)頁(yè)上產(chǎn)生動(dòng)態(tài)的顯示效果和實(shí)現(xiàn)與用戶交互的功能,譬如,讓一串文字跟著鼠標(biāo)移動(dòng),讓一個(gè)圖標(biāo)在網(wǎng)頁(yè)漂浮移動(dòng),驗(yàn)證用戶輸入的信用卡號(hào)的格式正確與否,等等特效網(wǎng)頁(yè)功能。2.Java則是一種基礎(chǔ)性的語言,學(xué)習(xí)jsp,j2ee都要有java的基礎(chǔ)。無論你是想成為詩(shī)人,還是小說家,還是散文家,甚至就是當(dāng)記者,你都要學(xué)習(xí)語文吧,Java就相當(dāng)于語文、Jsp、J2ee則相當(dāng)于小說、散文等。

學(xué)好了語文,你能否就會(huì)有一份好的職業(yè)呢?不見得吧,但至少機(jī)會(huì)要多多了,語文學(xué)得越好,就更容易成為小說家,或是記者等等了。要想成為記者、散文家等等,沒有語文是怎么都不行的。

3.jsp用于讓www服務(wù)器產(chǎn)生出內(nèi)容可以變化的網(wǎng)頁(yè)文檔和對(duì)用戶提交的表單數(shù)據(jù)進(jìn)行處理,例如,顯示留言內(nèi)容,留言內(nèi)容總是在增加的,所以,傳遞給用戶瀏覽器的網(wǎng)頁(yè)文件內(nèi)容是需要改變的,這就是jsp來實(shí)現(xiàn)的。將用戶留言插入到數(shù)據(jù)庫(kù)中,也是jsp來實(shí)現(xiàn)的。

4.j2ee用于開發(fā)大型的商業(yè)系統(tǒng),例如,你在各個(gè)銀行之間的取款,存款,銀行之間要互通有無,執(zhí)行存取款的記錄操作,還要進(jìn)行安全性檢查,不能誰都可以來查帳,還要考慮網(wǎng)絡(luò)斷線等問題。

使用j2ee,你就不用編寫這些底層的細(xì)節(jié)程序代碼了,而將精力集中到應(yīng)用的業(yè)務(wù)流程設(shè)計(jì)上。

第三篇:JAVA總結(jié)專題

在這忙忙碌碌的這段時(shí)間里,經(jīng)過老師的輔導(dǎo),迅速的將一點(diǎn)沒有學(xué)的JAVA基礎(chǔ)搞定了!有了基礎(chǔ)學(xué)習(xí)還是好,萬事開頭難這句話說的太對(duì)了,學(xué)計(jì)算機(jī)語言我覺得記憶好的方法就是多打代碼,課前預(yù)習(xí),課堂上認(rèn)真聽講,把現(xiàn)學(xué)的方法把以前所做的作業(yè)用最簡(jiǎn)便的方法再一次鞏固,創(chuàng)新最重要,在后續(xù)的學(xué)習(xí)中,得要加倍努力學(xué)習(xí)。

其實(shí)學(xué)java有不懂,要先自己思考。想清楚這句代碼是什么意思。為什么要寫在這,等等之類的。等你真的搞不明白的時(shí)候,就一定要向老師咨詢,不要感到有什么丟人的。因?yàn)椴粫?huì)是很正常的事。并不是每個(gè)人都是天才,一學(xué)就會(huì),一學(xué)就能運(yùn)用自如的。學(xué)java有一點(diǎn)是非常重要的,就是練習(xí)。一段代碼要不停的敲,多敲幾遍,尤其是自己不熟悉或者不熟練的代碼,更要敲。不要感覺到厭煩,其實(shí)我感覺敲代碼挺好玩的,并不是一件很枯燥的事。

老師平常布置的課后上機(jī)練習(xí)題一定要做,課后的練習(xí)題能夠讓你把新學(xué)到的知識(shí)鞏固一遍,能夠加深記憶,不會(huì)讓你在以后做題的時(shí)候感到?jīng)]一點(diǎn)思路。

當(dāng)感覺到不會(huì)的時(shí)候,千萬不要?dú)怵H,因?yàn)檫@很正常,現(xiàn)在的學(xué)習(xí)就是為了培養(yǎng)你有一個(gè)邏輯思維,為了以后開發(fā)軟件的時(shí)候有個(gè)完整,清晰的思路。

其實(shí),總體來說。學(xué)習(xí)java很快樂。尤其是當(dāng)你遇到一道自己不會(huì)的題,然后,又通過自己的努力解決了,那時(shí)候,那種心情不是用言語來表達(dá)的。就好像你遇到一個(gè)數(shù)學(xué)難題,自己解決了之后那種成就感一樣。

學(xué)java的時(shí)候一定要,放松心情,輕輕松松的來學(xué),隨時(shí)讓自己快樂著,這樣能夠讓你能夠更快的接受java,千萬不要有什么心理負(fù)擔(dān),因?yàn)閖ava的特點(diǎn)之一就是--簡(jiǎn)單易懂。只要自己努力到了,就一定能夠?qū)W好java。

學(xué)完了JAVA今天我們用項(xiàng)目案例:迷你DVD管理器來鞏固了我們所學(xué)的所有內(nèi)容,通過這項(xiàng)目的操練,首先,1、項(xiàng)目用到了會(huì)使用順序、分支、循環(huán)、跳轉(zhuǎn)語句編寫程序,2、要會(huì)使用數(shù)組、操作字符串,3、會(huì)使用帶參的方法;

4、會(huì)定義類、創(chuàng)建和使用對(duì)象,看到這些腦袋里一片迷茫啊!不知道怎樣寫,然后想到早寫晚寫都一樣,就照著書上寫起來了,到現(xiàn)在還是弄不懂的就是那個(gè)對(duì)象數(shù)組,不知道怎樣去理解,抽象的把我抽暈了,有望老師來給我們補(bǔ)補(bǔ)這一章,在實(shí)現(xiàn)DVD的業(yè)務(wù)處理時(shí),計(jì)算時(shí)差還是不懂,照著書上打了一遍,可還是得不到想要的結(jié)果,經(jīng)過網(wǎng)上的搜尋與老師講解,現(xiàn)在已略懂一二了,在做完這項(xiàng)目后,真不知道當(dāng)時(shí)是怎樣敲出來的,難道這就是所說的靈感!感覺很高興,現(xiàn)在已習(xí)慣了代碼報(bào)錯(cuò),其實(shí)代碼報(bào)錯(cuò)是一件值得鼓勵(lì)的事,因?yàn)闆]有錯(cuò)就覺得自己什么都懂了,在學(xué)習(xí)中相信每一個(gè)人都遇到過挫折吧!但一定要想方法戰(zhàn)勝挫折!我的戰(zhàn)勝挫折方法就是不懂思考后還不懂就問,懂了以后就筆記本記下當(dāng)時(shí)的解決方案!學(xué)習(xí)剛開始!后面的路很長(zhǎng),慢慢的去磨煉了!總結(jié)完畢!

第四篇:Java總結(jié)

Java實(shí)驗(yàn)

1.調(diào)試HelloWorld程序

2.this,super,get ,set,把課本90頁(yè)程序4.7中的name改成私有變量

3.繼承,重寫,父類引用指向子類對(duì)象

4.驗(yàn)證數(shù)組Arrays類和Collection類

5.編寫一個(gè)自己的異常類并捕獲之。

6.編寫一個(gè)類,將該類的幾個(gè)對(duì)象裝入TreeSet容器中,并將該容器的內(nèi)容通過輸出流寫入文件中。

前三章重點(diǎn)

0.java的數(shù)據(jù)類型:四類八種-(1)布爾類型Boolean;(2)字符類型char;(3)整數(shù)byte,short,int,long;(4)浮點(diǎn)類型:float,double;1.面向?qū)ο蟮?個(gè)基本特征:封裝,繼承,多態(tài)。

2.構(gòu)造方法和普通方法的區(qū)別:對(duì)構(gòu)造方法而言,它有以下特性---(1)方法名必須與要?jiǎng)?chuàng)建對(duì)象的類名相同。(2)不允許聲明返回類型,即使聲明為void也不被允許。

3.this關(guān)鍵字:是一個(gè)引用,this引用指向的是其本身所在方法的當(dāng)前對(duì)象。this的使用方法:(1)調(diào)用成員變量;(2)可以用this()調(diào)用其他構(gòu)造函數(shù)。

4.java中只對(duì)類成員變量進(jìn)行自動(dòng)初始化,而方法內(nèi)部的局部變量在使用前必須手動(dòng)初始化。

5.static 關(guān)鍵字:可用來修飾類的成員變量和成員方法,需要注意兩點(diǎn)--(1)靜態(tài)方法不能調(diào)用類的非靜態(tài)方法,不能訪問類的非靜態(tài)變量。(2)靜態(tài)方法和靜態(tài)變量(非私有的)可以有兩種調(diào)用方式,一是實(shí)例對(duì)象調(diào)用,二是類名直接調(diào)用。

6.類成員訪問控制修飾符public、private、default(可不寫,即缺省狀態(tài))、protected的使用:public-公用的;private-私有的,只在定義它的類內(nèi)部使用;default-可以被同一包中的類訪問;protected-既可以被同一包中的類訪問,也可以被不在同一包中的子類訪問。

7.方法的重載:指方法名相同,而方法的參數(shù)列表不相同。參數(shù)列表不同有三層意思:(1)參數(shù)類型不同。(2)參數(shù)順序不同。(3)參數(shù)個(gè)數(shù)不同。另外需注意,在同一個(gè)類中,當(dāng)方法名和參數(shù)列表都相同時(shí),訪問控制修飾符或方法返回類型不相同并不是方法的重載,而且這種情況在java中是不被允許的。

第四五章重點(diǎn)

1.繼承:需使用關(guān)鍵字extends.在使用繼承時(shí)需注意--(1)每個(gè)子類只能定義一個(gè)超類(父類),即extends后面應(yīng)且僅應(yīng)跟一個(gè)類名作為該類的父類。(2)父類中的私有屬性和私有方法不能被繼承。

2.方法的重寫:即子類對(duì)超類中的方法保持方法名、返回類型和參數(shù)列表不變,重寫了方法體,使子類和超類完成不同的工作。重寫需注意下面幾個(gè)關(guān)鍵點(diǎn):(1)超類中的私有方法不能被重寫。(2)訪問限制符強(qiáng)度由低到高依次是:public、protected、default、private,在重寫過程中,如果子類和父類中方法的返回值、方法名及方法的參數(shù)列表都相同,這時(shí),要求子類中該方法的訪問限制符強(qiáng)度不能超過父類的。即如果父類中為public時(shí),子類也只能為public,而不能是余下的三種。

3.重載(overload)和覆蓋(override)的區(qū)別:(1)重載—發(fā)生在一個(gè)類的內(nèi)部或子類與父類之間,要求方法名相同而參數(shù)列表不一樣。(2)覆蓋—只能發(fā)生在繼承過程中,要求子類方法的返回類型,方法名和參數(shù)列表同父類的都相同,而方法體不一樣。

4.構(gòu)造器的調(diào)用順序:先祖先,再客人,最后自己。

5.多態(tài):指在類繼承中子類和父類中可以有同名但意義或?qū)崿F(xiàn)方式不同的屬性和方法。分為:覆蓋和重載。多態(tài)的優(yōu)點(diǎn):因?yàn)槎鄳B(tài),可以在程序中對(duì)類進(jìn)行擴(kuò)展,而不需改變那些操作基類接口的方法。

6.動(dòng)態(tài)綁定:指在代碼執(zhí)行期間,判斷所引用對(duì)象的實(shí)際類型,根據(jù)其實(shí)際類型調(diào)用相應(yīng)方法。動(dòng)態(tài)綁定存在的三個(gè)必要條件--(1)要有繼承;(2)要有重寫(覆蓋);(3)父類引用指向子類對(duì)象(向上轉(zhuǎn)型)。

7.Object中常用的方法總結(jié):toString();wait();equals();notify();notifyAll();hashCode();getClass();clone();finalize();(呵呵,盡可能記幾個(gè),以防老師讓咱們列舉)注:java中Object類是所有類的父類,即java中所有的類都有上述9種方法。

8.對(duì)象的比較:注意關(guān)鍵字instanceof的使用。

9.抽象類:

抽象方法—用關(guān)鍵字abstract修飾的方法,該方法只需方法的聲明,而不需方法的實(shí)現(xiàn)(即無方法體)。

抽象類——至少包含一個(gè)抽象方法的類,也用abstract關(guān)鍵字聲明。(注:(1)抽象類中可以有一些具體方法。(2)抽象類不能實(shí)例化。(3)子類繼承抽象類必須實(shí)現(xiàn)其抽象方法。)

10.接口:

(1)可以看成是高度抽象的抽象類,但是接口不是類。

(2)用關(guān)鍵字interface來聲明接口,用關(guān)鍵字imlpements來實(shí)現(xiàn)接口。

(3)接口不能有具體方法,不能有實(shí)例數(shù)據(jù),但可以定義常量。

(4)實(shí)現(xiàn)接口的非抽象類必須實(shí)現(xiàn)接口的所有方法。

(5)每個(gè)類可以實(shí)現(xiàn)多個(gè)接口,這些接口用逗號(hào)隔開,同時(shí),一個(gè)接口可以被多個(gè)類實(shí)現(xiàn)。

第六章:重點(diǎn)看一下實(shí)驗(yàn)四

1.容器——Collection(接口)和Map(接口).Collection——Set(接口)和List(接口)。其中,List必須保持元素的特定順序,常見的實(shí)現(xiàn)類有ArrayList和LinkedList;Set不能有重復(fù)元素,常見的實(shí)現(xiàn)類有HashSet和TreeSet。

Map——一組成對(duì)的“鍵值對(duì)”對(duì)象,即其元素是成對(duì)的對(duì)象,常見的實(shí)現(xiàn)類有HashMap和TreeMap。

第七章 1.異常類的根類是Throwable類,它的兩個(gè)直接子類是Error類和Exception類。

2.異常中常用的5個(gè)關(guān)鍵字為:try,catch,finally,throw,throws.其中,try和catch:用于捕獲異常;finally:無論try塊中的異常是否拋出,finally中的代碼塊總能被執(zhí)行;throw:拋出異常;throws:聲明異常。

3.“未被檢查的異常(Unchecked Exceptions)”和“受檢查的異常(Checked Exceptions)”——

Unchecked Exceptions :編譯器不檢查方法是否處理或拋出的異常,即不做處理,編譯時(shí)不報(bào)錯(cuò)。

Checked Exceptions:受編譯器檢查的異常,即不做處理編譯時(shí)通不過。

4.常見的幾種Checked Exceptions:ClassNotFoundExceptionIOExceptionInterruptedExceptionFileNotFoundException.(盡可能的記幾個(gè)吧,以防不測(cè))第八章

1.流--字節(jié)流和字符流;

流--節(jié)點(diǎn)流和處理流。

2.所有的輸入流都是從抽象類InputStream和Reader繼承而來。所有輸出流都是從抽象類OutputStream和Writer繼承而來。3.字節(jié)流:InputStream和OutputStream;字符流:Reader和Writer;

4.節(jié)點(diǎn)流:直接與文件等底層打交道,如FileInputStreamFileOutputStreamFileReaderFileWriter.處理流:相當(dāng)于包裝流,套在節(jié)點(diǎn)流上,方便數(shù)據(jù)處理。相關(guān)一些用法,具體參考最后一次實(shí)驗(yàn)。

第五篇:java總結(jié)

調(diào)用父類構(gòu)造方法

? 在子類的構(gòu)造方法中可使用super(argument_list)語句調(diào)用父類的構(gòu)造方法

? 如果子類的構(gòu)造方法中沒有顯示地調(diào)用父類構(gòu)造方法,也沒有使用this關(guān)鍵字調(diào)用重載的其它構(gòu)造方法,則系統(tǒng)默認(rèn)調(diào)用父類無參數(shù)的構(gòu)造方法

? 如果子類構(gòu)造方法中既未顯式調(diào)用父類構(gòu)造方法,而父類中又沒有無參的構(gòu)造方法,則編譯出錯(cuò)

1public class Person {

3private String name;

4private int age;private Date birthDate;

7public Person(String name, int age, Date d){ 8this.name = name;

9this.age = age;

10this.birthDate = d;

11}

12public Person(String name, int age){ 13this(name, age, null);

14}

15public Person(String name, Date d){ 16this(name, 30, d);

17}

18public Person(String name){

19this(name, 30);}

21// ……

22}

1public class Student extends Person {

2private String school;

4public Student(String name, int age, String s){ 5super(name, age);

6school = s;

7}

8public Student(String name, String s){

9super(name);

10school = s;

11}

12public Student(String s){ // 編譯出錯(cuò): no super()13school = s;

14}

15}

對(duì)象構(gòu)造和初始化細(xì)節(jié)

? 分配存儲(chǔ)空間并進(jìn)行默認(rèn)的初始化

? 按下述步驟初始化實(shí)例變量

1.綁定構(gòu)造方法參數(shù)

2.如有this()調(diào)用,則調(diào)用相應(yīng)的重載構(gòu)造方法,然后跳轉(zhuǎn)到步驟5

3.顯式或隱式追溯調(diào)用父類的構(gòu)造方法(Object類除外)

4.進(jìn)行實(shí)例變量的顯式初始化操作

5.執(zhí)行當(dāng)前構(gòu)造方法的方法體

==操作符與equals方法

==操作符與equals方法的區(qū)別:

? 引用類型比較引用;基本類型比較值;

? equals()方法只能比較引用類型,“==”可以比較引用類型及基本類型;

? 特例:當(dāng)用equals()方法進(jìn)行比較時(shí),對(duì)類File、String、Date及封裝類(Wrapper Class)來說,是比較類型及內(nèi)容而不考慮引用的是否是同一個(gè)實(shí)例;

? 用“==”進(jìn)行比較時(shí),符號(hào)兩邊的數(shù)據(jù)類型必須一致(可自動(dòng)轉(zhuǎn)換的基本數(shù)據(jù)類型除外),否則編譯出錯(cuò);

由裝箱引發(fā)的——Integer比較的來龍去脈

前置知識(shí): 眾所周之,java是保留了int,char等基本數(shù)據(jù)類型的,也就是說int類型的并不是對(duì)象,然而有些方法卻需要object 類型的變量,所以java使用了裝箱機(jī)制,我們可一自豪的這樣聲明一個(gè)整型變量:Integer a = new Integer(10);那么整型的a也就是對(duì)象了,那這句是什么意思呢:Integer a= 10;java中可以這樣聲明一個(gè)對(duì)象嗎?當(dāng)然不是,從jdk1.5后,java實(shí)現(xiàn)了自動(dòng)裝箱,也就是自動(dòng)將Integer a =10 中的int類型的10轉(zhuǎn)化為了 Integer類型。好,有了前面的只是我們且先看一個(gè)題目:

Integer a = 127;

Integer b = 127;

Integer c = 128;

Integer d = 128;

System.out.println(a==b);

System.out.println(c==d);

答案是什么呢? 如果您回答true,false,那么很遺憾的告訴你,哈哈,其實(shí)你答對(duì)了!!

那我們暈了就相差1的兩個(gè)數(shù)為啥走向了“反目成仇”的地步呢?憑啥127等于127,我128就不等于128呢?且聽我慢慢道來,Integer a =127,Integer a=128。

127,128應(yīng)該不會(huì)造成什么差異吧,難道是自動(dòng)裝箱的過程有貓膩?找下源碼看看:

private static class IntegerCache {

private IntegerCache(){}

static final Integer cache[] = new Integer[-(-128)+ 127 + 1];static {

for(int i = 0;i < cache.length;i++)

cache[i] = new Integer(i128);

}

這是用一個(gè)for循環(huán)對(duì)數(shù)組cache賦值,cache[255] = new Integer(255-128),也就是newl一個(gè)Integer(127),并把引用賦值給cache[255],好了,然后是Integer b= 127,流程基本一樣,最后又到了cache[255] = new Integer(255-128),這一句,那我們迷糊了,這不是又new了一個(gè)對(duì)象127嗎,然后把引用賦值給cache[255],我們比較這兩個(gè)引用(前面聲明a的時(shí)候也有一個(gè)),由于是不同的地址,所以肯定不會(huì)相等,應(yīng)該返回false啊!呵呵,這么想你就錯(cuò)了,請(qǐng)注意看for語句給cache[i]初始化的時(shí)候外面還一個(gè){}呢,{}前面一個(gè)大大的static關(guān)鍵字大咧咧的杵在哪呢,對(duì)靜態(tài)的,那么我們就可以回想下static有什么特性了,只能初始化一次,在對(duì)象間共享,也就是不同的對(duì)象共享同一個(gè)static數(shù)據(jù),那么當(dāng)我們Integer b = 127的時(shí)候,并沒有new出一個(gè)新對(duì)象

來,而是共享了a這個(gè)對(duì)象的引用,記住,他們共享了同一個(gè)引用!!,那么我們進(jìn)行比較a==b時(shí),由于是同一個(gè)對(duì)象的引用(她們?cè)诙阎械牡刂废嗤钱?dāng)然返回true了!!

然后我們?cè)诳碔nteger c = 128;Integer d = 128;這兩句。現(xiàn)在不用我說就應(yīng)該能明白了吧,當(dāng)數(shù)據(jù)不再-128到127之間時(shí),是不執(zhí)行return

IntegerCache.cache[i + offset];這句的,也就是不會(huì)返回一個(gè)static的引用,而是執(zhí)行了return new Integer(i);于是當(dāng) Integer d = 128 時(shí),又會(huì)重新返回一個(gè)引用,兩個(gè)不同的引用

在做c==d 的比較時(shí)當(dāng)然返回false了!

下面附上本程序的字節(jié)碼以供喜歡底層的讀者參考:

Compiled from “CompareInteger.java”

public class CompareInteger extends java.lang.Object{

public CompareInteger();

Code:

0:aload_0

1:invokespecial#1;//Method java/lang/Object.“”:()V4:return

public static void main(java.lang.String[]);

Code:

0:bipush 127

2:invokestatic#2;//Method

java/lang/Integer.valueOf:(I)Ljava/lang/Int

eger;

5:astore_1

6:bipush 127

8:invokestatic#2;//Method

java/lang/Integer.valueOf:(I)Ljava/lang/Int

eger;

11: astore_2

12: sipush 128

15: invokestatic#2;//Method

java/lang/Integer.valueOf:(I)Ljava/lang/Int

eger;

18: astore_3

19: sipush 128

22: invokestatic#2;//Method

java/lang/Integer.valueOf:(I)Ljava/lang/Int

eger;

25: astore 4

27: getstatic#3;//Field

java/lang/System.out:Ljava/io/PrintStream;

30: aload_1

31: aload_2

32: if_acmpne39

35: iconst_1

36: goto40

39: iconst_0

40: invokevirtual#4;//Method java/io/PrintStream.println:(Z)V43: getstatic#3;//Field

java/lang/System.out:Ljava/io/PrintStream;

46: aload_3

47: aload4

49: if_acmpne56

52: iconst_1

53: goto57

56: iconst_0

57: invokevirtual#4;//Method java/io/PrintStream.println:(Z)V60: return

}

評(píng)論:呵呵,這么想你就錯(cuò)了,請(qǐng)注意看for語句給cache[i]初始化的時(shí)候外面還一個(gè){}呢,{}前面一個(gè)大大的static關(guān)鍵字大咧咧的杵在哪呢,對(duì)靜態(tài)的,那么我們就可以回想下static有什么特性了,只能初始化一次,在對(duì)象間共享,也就是不同的對(duì)象共享同一個(gè)static數(shù)據(jù),那么當(dāng)我們Integer b = 127的時(shí)候,并沒有new出一個(gè)新對(duì)象來,而是共享了a這個(gè)對(duì)象的引用,記住,他們共享了同一個(gè)引用!!

呵呵,博主我被你這句話小小的誤導(dǎo)了一下,其實(shí)你這里說的原理沒錯(cuò),但是把位置說錯(cuò)了,這段代碼只是初始化cache:

static {

for(int i = 0;i < cache.length;i++)

cache[i] = new Integer(i-128);

}

但真正讓cache[i]為static變量的是這句代碼:

static final Integer cache[] = new Integer[-(-128)+ 127 + 1];

下載java總結(jié)[共5篇]word格式文檔
下載java總結(jié)[共5篇].doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    java實(shí)習(xí)總結(jié)(共5則范文)

    Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。本文是java實(shí)習(xí)的總結(jié)范文,僅供參考。java實(shí)習(xí)總結(jié)范文一:在本學(xué)期的開學(xué)初期,我們?cè)趯W(xué)校機(jī)房進(jìn)行了為期三周的JA......

    Java學(xué)習(xí)總結(jié)(共5則)

    8月份學(xué)習(xí)總結(jié)目錄 一、 二、 1) 2) 3) 4) 5) 6) 7) 三、 前言 .......................... 1 主要知識(shí)點(diǎn)概括 .................... 2 初識(shí)Java ...............................

    Java個(gè)人總結(jié)參考

    1、Java中取消指針運(yùn)算防止了內(nèi)存泄露的可能性。Java中的引用其實(shí)就是指針。JAVA語言不支持C++友元方法或友類。 2、編寫完java源代碼后,首先將其編譯為一種中間狀態(tài)字的字節(jié)......

    Java筆記總結(jié)

    1、Java是一種可以編譯 跨平臺(tái)、面向?qū)ο蟮母呒?jí)計(jì)算機(jī)語言。 2、Java語言的特點(diǎn):簡(jiǎn)單、安全、跨平臺(tái)、面向?qū)ο蟆⒅С侄嗑€程。 3、Java的三個(gè)技術(shù)平臺(tái)分別是 JavaSE、JavaEE......

    java實(shí)習(xí)總結(jié)

    java實(shí)習(xí)總結(jié) java實(shí)習(xí)總結(jié)1 實(shí)習(xí)第五個(gè)禮拜,使用collection框架做派叫號(hào)系統(tǒng)首先分析項(xiàng)目需求,概述如下:1.產(chǎn)品參與者顧客:到營(yíng)業(yè)大廳排隊(duì)取號(hào)柜員:提供業(yè)務(wù)服務(wù)的柜臺(tái)業(yè)務(wù)員管......

    java培訓(xùn)總結(jié)(范文大全)

    在現(xiàn)在這個(gè)科技飛速發(fā)展的時(shí)代,計(jì)算機(jī)已經(jīng)悄然走進(jìn)我們的生活,并且占據(jù)了不可動(dòng)搖與替代的地位,無論是在工作還是生活,學(xué)習(xí)還是娛樂中,當(dāng)我們意識(shí)到的時(shí)候,卻突然發(fā)現(xiàn)我們已經(jīng)離不......

    二級(jí)JAVA總結(jié)

    對(duì)長(zhǎng)度為n的線性表進(jìn)行冒泡排序,最壞情況先需要比較的次數(shù)為log2n。 對(duì)長(zhǎng)度為n的線性表進(jìn)行順序排序,最壞情況先需要比較的次數(shù)為n。 高內(nèi)聚低耦合有利于模塊的獨(dú)立性。 二叉......

    java學(xué)習(xí)總結(jié)

    第三周學(xué)習(xí)總結(jié)這周從HTML學(xué)到了mysql: 1. HTML:Hypertext Markup Language超文本標(biāo)記語言 后綴名為.html或.htm 由兩部分組成:head和body 2.body屬性:bgcolor、background、bgp......

主站蜘蛛池模板: 亚洲成av人片天堂网无码| 成av人电影在线观看| 无码国产精品一区二区色情男同| 国产精品无码不卡一区二区三区| 99国内精品久久久久影院| 午夜福利三级理论电影| 亚洲色无码播放| 色偷偷88888欧美精品久久久| 无码中文av波多野吉衣迅雷下载| 亚洲国产成人一区二区三区| 又色又爽又黄又硬的视频免费观看| 野花香社区在线观看| 久久久久久久久久久免费精品| 香蕉久久精品日日躁夜夜躁夏| 人人妻人人添人人爽日韩欧美| 亚洲人成日韩中文字幕不卡| 久久人妻精品国产| 中文字幕乱码熟妇五十中出| 免费网站内射红桃视频| 日本xxxx色视频在线观看免费| 国产激情久久久久影院| 欧洲精品va无码一区二区三区| 国产精品无码一区二区三区不卡| 日韩av人人夜夜澡人人爽| 久久香蕉国产线看观看手机| 久久久久亚洲精品无码网址| 美乳丰满人妻无码视频| 看免费的无码区特aa毛片| 欧美变态另类zozo| 亚洲国产成人久久综合碰碰免| 亚洲av人无码激艳猛片服务器| 欧美freesex黑人又粗又大| 亚洲欧美中文日韩v在线97| 男女性高爱潮免费观看| 久久99国产亚洲高清观看首页| 超级av在线天堂东京热| 又粗又硬又黄又爽的免费视频| 边啃奶头边躁狠狠躁| 手机在线观看av片| 国产人与zoxxxx另类| 99在线精品国自产拍不卡|