資源描述:
《JAVA編程要點(diǎn)和編程規(guī)范》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、JAVA編程要點(diǎn)和編程規(guī)范杭州新世紀(jì)2011年7月朱寶君內(nèi)容JAVA編程要點(diǎn)123JAVA編程規(guī)范Q/AJava2的版本劃分Java2J2MEJ2SEJ2EEJava語(yǔ)言的主要特性平臺(tái)無(wú)關(guān)性簡(jiǎn)單性面向?qū)ο蠓植际?、?dòng)態(tài)性、可靠性、安全性……多線(xiàn)程面向?qū)ο笕筇匦苑庋b繼承多態(tài)封裝(Encapsulation)封裝:將方法和數(shù)據(jù)組織在一起,隱藏其具體實(shí)現(xiàn)而對(duì)外體現(xiàn)出公共的接口數(shù)據(jù)封裝,提供公共接口訪(fǎng)問(wèn)方法封裝,不用影響調(diào)用者變量方法繼承(Inheritance)廣義地說(shuō),繼承是指能夠直接獲得已有的性質(zhì)和特性,而不必重復(fù)定義它們。在面向?qū)?/p>
2、象的軟件技術(shù)中,繼承是子類(lèi)自動(dòng)地共享父類(lèi)中定義的數(shù)據(jù)和方法的機(jī)制。共性部分繼承部分個(gè)性部分父類(lèi)子類(lèi)繼承的作用使軟件系統(tǒng)具有開(kāi)放性更好地進(jìn)行抽象與分類(lèi)實(shí)現(xiàn)代碼的復(fù)用提高可維護(hù)性Java接口實(shí)現(xiàn)多重繼承單一繼承指明了子類(lèi)和父類(lèi)的層次關(guān)系和各自的行為。多重繼承是指一個(gè)類(lèi)有多個(gè)父類(lèi),這使得類(lèi)的層次關(guān)系不清楚。接口則把方法的定義同類(lèi)的層次區(qū)分開(kāi)來(lái),通過(guò)接口可以在運(yùn)行中動(dòng)態(tài)地定位所調(diào)用的方法,同時(shí)一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口,使得接口提供了比多重繼承更簡(jiǎn)單、更靈活的功能。多態(tài)編譯多態(tài)重載運(yùn)行多態(tài)Java實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的基礎(chǔ)是動(dòng)態(tài)方法調(diào)度,它是一種
3、在運(yùn)行時(shí)而不是在編譯期調(diào)用重載方法的機(jī)制。例子類(lèi)ParentpublicclassParent{publicParent(){System.out.print("1");}publicvoidprint(){printOne();System.out.print("2");}publicvoidprintOne(){System.out.print("3");}}類(lèi):ClildpublicclassClildextendsParent{publicClild(){System.out.print("4");}publicvoidp
4、rintOne(){System.out.print("5");}publicstaticvoidmain(Stringarg[]){Clildc=newClild();c.print();}}面向接口編程要依賴(lài)于抽象,不要依賴(lài)于實(shí)現(xiàn)方便代碼復(fù)用,無(wú)需關(guān)注細(xì)節(jié)便于團(tuán)隊(duì)協(xié)同開(kāi)發(fā),無(wú)編譯依賴(lài)考慮你的設(shè)計(jì)中什么可能發(fā)生變化,找到一個(gè)系統(tǒng)的可變因素?cái)?shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型的分類(lèi)如下所示:數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型復(fù)合數(shù)據(jù)類(lèi)型數(shù)值型字符型:char布爾型:boolean整型:byte,short,int,long實(shí)型:float,double類(lèi):clas
5、s數(shù)組和字符串接口:interface字符串和字符串緩沖區(qū)Java平臺(tái)提供兩個(gè)類(lèi)String和StringBuffer,它們用于存儲(chǔ)和操作字符串-由多個(gè)字符組成的字符數(shù)據(jù)。String類(lèi)用于其值不能改變的字符串;StringBuffer類(lèi)用于被修改的字符串,通常用來(lái)動(dòng)態(tài)的構(gòu)造字符數(shù)據(jù)。字符串是常量,比字符串緩沖區(qū)更高效,而且字符串可以被共享。數(shù)據(jù)類(lèi)型每個(gè)變量都必須有一個(gè)數(shù)據(jù)類(lèi)型.一個(gè)變量的數(shù)據(jù)類(lèi)型決定了它能容納的值和在它上面可以進(jìn)行什么操作。Java編程語(yǔ)言有兩大類(lèi)數(shù)據(jù)類(lèi)型:原始類(lèi)型(primitive)引用類(lèi)(reference
6、)實(shí)例化newnew只能實(shí)現(xiàn)具體類(lèi)的實(shí)例化,不適合于接口編程強(qiáng)類(lèi)型newInstanceClassc=Class.forName(“A”);factory=(AInterface)c.newInstance();伸縮性、可擴(kuò)展性、復(fù)用性弱類(lèi)型對(duì)象、類(lèi)與實(shí)體的關(guān)系對(duì)象類(lèi)計(jì)算機(jī)邏輯的實(shí)現(xiàn)映射計(jì)算機(jī)世界實(shí)例化抽象實(shí)體抽象數(shù)據(jù)類(lèi)現(xiàn)實(shí)世界概念世界抽象接口(Interface)接口和類(lèi)一樣也是一種類(lèi)型,也同樣包含一些方法的定義。但與類(lèi)不同的是:接口中所定義的所有方法都是抽象方法(即沒(méi)有實(shí)現(xiàn)的方法)。接口中所定義的方法由實(shí)現(xiàn)(implement
7、)該接口的類(lèi)來(lái)實(shí)現(xiàn),一個(gè)類(lèi)可以同時(shí)實(shí)現(xiàn)多個(gè)接口接口機(jī)制使Java的面向?qū)ο缶幊套兊酶屿`活。解決了單重繼承帶來(lái)的問(wèn)題接口定義了對(duì)象的行為模型,相當(dāng)于一個(gè)協(xié)議。實(shí)現(xiàn)接口的各個(gè)類(lèi)負(fù)責(zé)實(shí)現(xiàn)接口所定義的行為。雖然實(shí)現(xiàn)細(xì)節(jié)各不相同,但對(duì)用戶(hù)來(lái)說(shuō)是一樣的行為。接口功能不能簡(jiǎn)單擴(kuò)大例如:要加個(gè)報(bào)股價(jià)的方法在接口里,此時(shí)所有實(shí)現(xiàn)它的類(lèi)不能正常工作。publicinterfaceStockWatcher{finalStringsunTicker="SUNW";finalStringoracleTicker="ORCL";finalStringcis
8、coTicker="CSCO";voidvalueChanged(StringtickerSymbol,doublenewValue);voidcurrentValue(StringtickerSymbol,doublenewValue);}用繼承