Java面向?qū)ο缶幊虒W(xué)習(xí)總結(jié)
Posted on 2006-07-22 23:55 Yemoo'S Java Blog 閱讀(365) 評(píng)論(0) 編輯 收藏這兩天看了java面向?qū)ο缶幊滩糠值脙?nèi)容,感覺(jué)有不少需要注意得地方:
重要知識(shí)點(diǎn)總結(jié)如下:
1,抽象,封裝,繼承,多態(tài)是面向?qū)ο蟪绦蛟O(shè)計(jì)中得四個(gè)特點(diǎn).
2,面向?qū)ο蟮密浖_(kāi)發(fā)大體分為:面向?qū)ο蟮姆治?面向?qū)ο蟮脑O(shè)計(jì),面向?qū)ο蟮膶?shí)現(xiàn).
?? 可概括為如下過(guò)程:分析用戶(hù)需求,從問(wèn)題中抽取對(duì)象模型;細(xì)化模型,設(shè)計(jì)類(lèi),包括類(lèi)的屬性和類(lèi)間的
???相互關(guān)系,同時(shí)觀察是否有可以直接引用的已有類(lèi)或部件;選定一種面向?qū)ο蟮木幊陶Z(yǔ)言,具體編碼實(shí)現(xiàn)
??上一階段類(lèi)的設(shè)計(jì),并在開(kāi)發(fā)過(guò)程中引入測(cè)試,完善整個(gè)解決方案.
3,面向?qū)ο蟪绦蛟O(shè)計(jì)方法的優(yōu)點(diǎn)是:可重用性,可擴(kuò)展性,可管理性.
4,類(lèi)的定義:class前的修飾符分為訪(fǎng)問(wèn)控制符和非訪(fǎng)問(wèn)控制符兩大類(lèi).訪(fǎng)問(wèn)控制符包括public和private.
?? 非訪(fǎng)問(wèn)控制符包括abstract(抽象),final(最終).
5,final類(lèi)是最終類(lèi),是不能有子類(lèi)的類(lèi).abstract和final不能同時(shí)修飾一個(gè)類(lèi),因?yàn)槌橄箢?lèi)本身沒(méi)有具體對(duì)象,
??? 需要派生出子類(lèi)后在創(chuàng)建子類(lèi)的對(duì)象.而最終類(lèi)不可能有子類(lèi).
6,創(chuàng)建對(duì)象的格式為: 類(lèi)名 對(duì)象名=new 構(gòu)造方法(參數(shù));注意前面是類(lèi)名后面是構(gòu)造方法.
??? 注意構(gòu)造方法沒(méi)有返回類(lèi)型,也不能寫(xiě)void,主要用于完成類(lèi)對(duì)象的初始化工作,一般不能直接由編程
??? 直接調(diào)用,而是用new運(yùn)算符來(lái)調(diào)用.
7,如果class前面由public修飾符,則默認(rèn)構(gòu)造方法的前面也應(yīng)該有public修飾符.
8,類(lèi)中有static修飾的域或方法,可用類(lèi)名或?qū)ο竺L(fǎng)問(wèn),否則只能用對(duì)象名訪(fǎng)問(wèn).
9,修飾域的訪(fǎng)問(wèn)控制符可以是:public,private,protected,private protected.非訪(fǎng)問(wèn)控制符可以是:
??? static,final,volatile(易失域)
10,類(lèi)變量的最本質(zhì)的特點(diǎn)是:他們是類(lèi)的域,不屬于任何一個(gè)類(lèi)的具體對(duì)象實(shí)例.不是保存在某個(gè)對(duì)象實(shí)例的內(nèi)存空間中,而是保存在類(lèi)的內(nèi)存區(qū)域的公共存儲(chǔ)單元中.
11,局部變量是在方法體內(nèi)聲明的,只有當(dāng)方法被調(diào)用時(shí)他們才存在,因而只能在本方法內(nèi)使用,不存在訪(fǎng)問(wèn)控制符,也不能聲明為靜態(tài)變量(static),但可以聲明為final變量.局部變量必須初始化.
12,修飾方法的訪(fǎng)問(wèn)控制符可以是:public,private,protected,private protected,修飾方法的非訪(fǎng)問(wèn)控制符可以是:static,final,abstract,native(本地方法),synchronized(同步方法)。
13,用static修飾的變量或方法都為類(lèi)成員,類(lèi)成員可以用類(lèi)名或?qū)嵗L(fǎng)問(wèn),實(shí)例成員只能用實(shí)例名來(lái)訪(fǎng)問(wèn)。
14,如果一個(gè)類(lèi)中含有抽象方法,則此類(lèi)必須為抽象類(lèi),如果抽象類(lèi)的子類(lèi)不為抽象類(lèi),則子類(lèi)必須實(shí)現(xiàn)父類(lèi)的所有抽象方法。抽象方法不能用靜態(tài)方法和最終方法。抽想方法只有函數(shù)頭的聲明,而用分號(hào)來(lái)替代方法體,沒(méi)有大括號(hào)。如abstract void abstractmethod();
15,this變量用在一個(gè)方法的內(nèi)部,指向當(dāng)前對(duì)象,當(dāng)前對(duì)象指的是調(diào)用當(dāng)前正在執(zhí)行的方法的那個(gè)對(duì)象。super變量是直接指向父類(lèi)的構(gòu)造方法,用來(lái)引用父類(lèi)種的變量和方法。(由于他們指的是對(duì)象,所以不能通過(guò)它來(lái)引用類(lèi)變量和類(lèi)方法)
16,如果要引用一個(gè)包中的多個(gè)類(lèi),可以用星號(hào)來(lái)代替。使用星號(hào)只能表示本層次的所有類(lèi),而不包括子層次下的類(lèi)。所以經(jīng)常需要用兩條語(yǔ)句來(lái)引入兩個(gè)層次的類(lèi):import java.awt.*;import java.awt.event.*;
17,訪(fǎng)問(wèn)修飾符:
--類(lèi)中限定為public的成員可以被所有的類(lèi)訪(fǎng)問(wèn)。
--類(lèi)中先定位private的成員只能被這個(gè)類(lèi)本身訪(fǎng)問(wèn)。同一個(gè)類(lèi)的不同對(duì)象可以訪(fǎng)問(wèn)對(duì)方的private域變量或調(diào)用對(duì)方的域方法,這是因?yàn)樵L(fǎng)問(wèn)保護(hù)控制在類(lèi)的級(jí)別上,而不是對(duì)象的級(jí)別上。
--類(lèi)中限定為protected的成員可以被這個(gè)類(lèi)本身,它的子類(lèi)(包括同一個(gè)包中和不同包中的子類(lèi)),以及同一個(gè)包中的其他類(lèi)訪(fǎng)問(wèn)。
--用private protected修飾的成員可以被該類(lèi)本身訪(fǎng)問(wèn),也可以被該類(lèi)的所有子類(lèi)訪(fǎng)問(wèn)。
--默認(rèn)訪(fǎng)問(wèn)控制符規(guī)定只能被同一個(gè)包中的類(lèi)訪(fǎng)問(wèn)和引用,而不能被其他包的類(lèi)訪(fǎng)問(wèn)。即他的訪(fǎng)問(wèn)權(quán)限是friendly。
18,注意:
----abstract和private,static,final,native不能并列修飾同一個(gè)方法。
----abstract類(lèi)中不能有private修飾的域和方法
----static方法不能處理非static的域。
19,重載方法的參數(shù)必須不同,或者是參數(shù)個(gè)數(shù)不同,或者是參數(shù)類(lèi)型不同。重載的多個(gè)方法必須返回相同的數(shù)據(jù)類(lèi)型。
20,在java中,一個(gè)類(lèi)獲取某一接口定義的功能并不是通過(guò)直接繼承這個(gè)接口的屬性和方法來(lái)實(shí)現(xiàn)的。因?yàn)榻涌谥械膶傩远际浅A浚涌诘姆椒ǘ际菦](méi)有方法體的抽象方法,沒(méi)有具體定義操作。
重要知識(shí)點(diǎn)總結(jié)如下:
1,抽象,封裝,繼承,多態(tài)是面向?qū)ο蟪绦蛟O(shè)計(jì)中得四個(gè)特點(diǎn).
2,面向?qū)ο蟮密浖_(kāi)發(fā)大體分為:面向?qū)ο蟮姆治?面向?qū)ο蟮脑O(shè)計(jì),面向?qū)ο蟮膶?shí)現(xiàn).
?? 可概括為如下過(guò)程:分析用戶(hù)需求,從問(wèn)題中抽取對(duì)象模型;細(xì)化模型,設(shè)計(jì)類(lèi),包括類(lèi)的屬性和類(lèi)間的
???相互關(guān)系,同時(shí)觀察是否有可以直接引用的已有類(lèi)或部件;選定一種面向?qū)ο蟮木幊陶Z(yǔ)言,具體編碼實(shí)現(xiàn)
??上一階段類(lèi)的設(shè)計(jì),并在開(kāi)發(fā)過(guò)程中引入測(cè)試,完善整個(gè)解決方案.
3,面向?qū)ο蟪绦蛟O(shè)計(jì)方法的優(yōu)點(diǎn)是:可重用性,可擴(kuò)展性,可管理性.
4,類(lèi)的定義:class前的修飾符分為訪(fǎng)問(wèn)控制符和非訪(fǎng)問(wèn)控制符兩大類(lèi).訪(fǎng)問(wèn)控制符包括public和private.
?? 非訪(fǎng)問(wèn)控制符包括abstract(抽象),final(最終).
5,final類(lèi)是最終類(lèi),是不能有子類(lèi)的類(lèi).abstract和final不能同時(shí)修飾一個(gè)類(lèi),因?yàn)槌橄箢?lèi)本身沒(méi)有具體對(duì)象,
??? 需要派生出子類(lèi)后在創(chuàng)建子類(lèi)的對(duì)象.而最終類(lèi)不可能有子類(lèi).
6,創(chuàng)建對(duì)象的格式為: 類(lèi)名 對(duì)象名=new 構(gòu)造方法(參數(shù));注意前面是類(lèi)名后面是構(gòu)造方法.
??? 注意構(gòu)造方法沒(méi)有返回類(lèi)型,也不能寫(xiě)void,主要用于完成類(lèi)對(duì)象的初始化工作,一般不能直接由編程
??? 直接調(diào)用,而是用new運(yùn)算符來(lái)調(diào)用.
7,如果class前面由public修飾符,則默認(rèn)構(gòu)造方法的前面也應(yīng)該有public修飾符.
8,類(lèi)中有static修飾的域或方法,可用類(lèi)名或?qū)ο竺L(fǎng)問(wèn),否則只能用對(duì)象名訪(fǎng)問(wèn).
9,修飾域的訪(fǎng)問(wèn)控制符可以是:public,private,protected,private protected.非訪(fǎng)問(wèn)控制符可以是:
??? static,final,volatile(易失域)
10,類(lèi)變量的最本質(zhì)的特點(diǎn)是:他們是類(lèi)的域,不屬于任何一個(gè)類(lèi)的具體對(duì)象實(shí)例.不是保存在某個(gè)對(duì)象實(shí)例的內(nèi)存空間中,而是保存在類(lèi)的內(nèi)存區(qū)域的公共存儲(chǔ)單元中.
11,局部變量是在方法體內(nèi)聲明的,只有當(dāng)方法被調(diào)用時(shí)他們才存在,因而只能在本方法內(nèi)使用,不存在訪(fǎng)問(wèn)控制符,也不能聲明為靜態(tài)變量(static),但可以聲明為final變量.局部變量必須初始化.
12,修飾方法的訪(fǎng)問(wèn)控制符可以是:public,private,protected,private protected,修飾方法的非訪(fǎng)問(wèn)控制符可以是:static,final,abstract,native(本地方法),synchronized(同步方法)。
13,用static修飾的變量或方法都為類(lèi)成員,類(lèi)成員可以用類(lèi)名或?qū)嵗L(fǎng)問(wèn),實(shí)例成員只能用實(shí)例名來(lái)訪(fǎng)問(wèn)。
14,如果一個(gè)類(lèi)中含有抽象方法,則此類(lèi)必須為抽象類(lèi),如果抽象類(lèi)的子類(lèi)不為抽象類(lèi),則子類(lèi)必須實(shí)現(xiàn)父類(lèi)的所有抽象方法。抽象方法不能用靜態(tài)方法和最終方法。抽想方法只有函數(shù)頭的聲明,而用分號(hào)來(lái)替代方法體,沒(méi)有大括號(hào)。如abstract void abstractmethod();
15,this變量用在一個(gè)方法的內(nèi)部,指向當(dāng)前對(duì)象,當(dāng)前對(duì)象指的是調(diào)用當(dāng)前正在執(zhí)行的方法的那個(gè)對(duì)象。super變量是直接指向父類(lèi)的構(gòu)造方法,用來(lái)引用父類(lèi)種的變量和方法。(由于他們指的是對(duì)象,所以不能通過(guò)它來(lái)引用類(lèi)變量和類(lèi)方法)
16,如果要引用一個(gè)包中的多個(gè)類(lèi),可以用星號(hào)來(lái)代替。使用星號(hào)只能表示本層次的所有類(lèi),而不包括子層次下的類(lèi)。所以經(jīng)常需要用兩條語(yǔ)句來(lái)引入兩個(gè)層次的類(lèi):import java.awt.*;import java.awt.event.*;
17,訪(fǎng)問(wèn)修飾符:
--類(lèi)中限定為public的成員可以被所有的類(lèi)訪(fǎng)問(wèn)。
--類(lèi)中先定位private的成員只能被這個(gè)類(lèi)本身訪(fǎng)問(wèn)。同一個(gè)類(lèi)的不同對(duì)象可以訪(fǎng)問(wèn)對(duì)方的private域變量或調(diào)用對(duì)方的域方法,這是因?yàn)樵L(fǎng)問(wèn)保護(hù)控制在類(lèi)的級(jí)別上,而不是對(duì)象的級(jí)別上。
--類(lèi)中限定為protected的成員可以被這個(gè)類(lèi)本身,它的子類(lèi)(包括同一個(gè)包中和不同包中的子類(lèi)),以及同一個(gè)包中的其他類(lèi)訪(fǎng)問(wèn)。
--用private protected修飾的成員可以被該類(lèi)本身訪(fǎng)問(wèn),也可以被該類(lèi)的所有子類(lèi)訪(fǎng)問(wèn)。
--默認(rèn)訪(fǎng)問(wèn)控制符規(guī)定只能被同一個(gè)包中的類(lèi)訪(fǎng)問(wèn)和引用,而不能被其他包的類(lèi)訪(fǎng)問(wèn)。即他的訪(fǎng)問(wèn)權(quán)限是friendly。
18,注意:
----abstract和private,static,final,native不能并列修飾同一個(gè)方法。
----abstract類(lèi)中不能有private修飾的域和方法
----static方法不能處理非static的域。
19,重載方法的參數(shù)必須不同,或者是參數(shù)個(gè)數(shù)不同,或者是參數(shù)類(lèi)型不同。重載的多個(gè)方法必須返回相同的數(shù)據(jù)類(lèi)型。
20,在java中,一個(gè)類(lèi)獲取某一接口定義的功能并不是通過(guò)直接繼承這個(gè)接口的屬性和方法來(lái)實(shí)現(xiàn)的。因?yàn)榻涌谥械膶傩远际浅A浚涌诘姆椒ǘ际菦](méi)有方法體的抽象方法,沒(méi)有具體定義操作。