黑馬程序員視頻總結(jié)[行業(yè)文書]_第1頁
黑馬程序員視頻總結(jié)[行業(yè)文書]_第2頁
黑馬程序員視頻總結(jié)[行業(yè)文書]_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、面向?qū)ο螅好嫦驅(qū)ο笫窍鄬τ诿嫦蜻^程而言的。面向過程強(qiáng)調(diào)的是功能,面向?qū)ο髮⒐δ芊庋b進(jìn)對象,強(qiáng)調(diào)的是具有功能的對象。類是對現(xiàn)實(shí)生活的描述。對象是一類事物實(shí)實(shí)在在存在的個(gè)體。堆內(nèi)存和棧內(nèi)存:基本類型的變量和對象的引用存儲(chǔ)在棧內(nèi)存;用new創(chuàng)建的對象和數(shù)組存儲(chǔ)在堆內(nèi)存。封裝:隱藏對象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對外提供公共訪問方法。原則:將不需要對外提供的內(nèi)容都隱藏起來,將屬性都隱藏,提供公共方法對其訪問。好處:提高安全性,便于使用,提高重用性。什么時(shí)候使用靜態(tài)?成員變量:當(dāng)對象中有共享數(shù)據(jù)時(shí)。成員函數(shù):函數(shù)內(nèi)部沒有訪問到非靜態(tài)數(shù)據(jù)(對象的特有數(shù)據(jù))。幫助文檔制作:/*/author作者;version 版

2、本;param 參數(shù);return 返回結(jié)果命令:javadoc -d 文件夾 -author -version xxx.java 。將生成一系列網(wǎng)頁。靜態(tài)代碼塊:static。用于給類進(jìn)行初始化,只執(zhí)行一次,優(yōu)先于主函數(shù)。Person p=new Person():1、找到Person.class加載到內(nèi)存。2、執(zhí)行static代碼塊。3、在棧內(nèi)存中開辟main()方法空間,并分配一個(gè) 變量p。4、在堆內(nèi)存中開辟實(shí)體空間。5、進(jìn)行屬性的空間分配,并進(jìn)行默認(rèn)初始化。6、對空間屬性進(jìn)行顯示初始化。7、實(shí)體的構(gòu)造代碼初始化。8、調(diào)用對應(yīng)的構(gòu)造函數(shù),進(jìn)行構(gòu)造函數(shù)初始化。9、將實(shí)體空間首地址賦給p。單

3、例:class Singleprivate Single() /私有化構(gòu)造函數(shù)。private static Single s = new Single(); /靜態(tài)方法要訪問它,所以也要靜態(tài)化。靜態(tài)方法不能訪問非靜態(tài)的方法和屬性。創(chuàng)建私有并靜態(tài)的本類對象。public static Single getInstance() /無法通過對象調(diào)用,只能是靜態(tài)。定義公有并靜態(tài)的方法,返回該對象。return s;/懶漢式:延遲加載方式。class Single2private Single2()private static Single2 s = null;public static synchr

4、onized Single2 getInstance()if(s=null)s = new Single2();return s;繼承:提高代碼復(fù)用性,并為多態(tài)打下基礎(chǔ)。Java只支持單繼承。多繼承隱患:多個(gè)父類定義相同功能時(shí),子類對象不確定要運(yùn)行哪一個(gè)。重載:方法名相同,但參數(shù)不同的多個(gè)同名函數(shù);覆蓋:子類重寫父類的方法,要求方法名和參數(shù)類型完全一樣 (參數(shù)不能是子類),返回值和異常比父類小或者相同(即為父類的子類),訪問修飾符比父類大或者相同隱藏:父類和子類擁有相同名字的屬性或者方法時(shí),父類的同名的屬性或者方法形式上不見了,實(shí)際是還是存在的。多態(tài):同一操作作用于不同的對象,可以有不同的解釋

5、,產(chǎn)生不同的執(zhí)行結(jié)果。內(nèi)部類:內(nèi)部類可以直接訪問外部類的成員,包括私有。外部類必須建立內(nèi)部類對象才能訪問內(nèi)部類成員。異常體系:error和exception=和equals()的區(qū)別:=和!=比較的是棧中的內(nèi)容(對象的地址),而equals()比較的是堆中的內(nèi)容(對象的內(nèi)容)。多線程:建立線程兩種方法:1、繼承Thread類;2、實(shí)現(xiàn)Runnable接口。繼承接口避免了單繼承的局限性。線程對象.setDaemon(true)設(shè)置守護(hù)線程。線程啟動(dòng)前調(diào)用,當(dāng)正在運(yùn)行的線程只有守護(hù)線程時(shí),java虛擬機(jī)退出。當(dāng)a線程執(zhí)行b線程的.join()方法時(shí),a會(huì)等待b線程執(zhí)行完才會(huì)執(zhí)行。線程對象.setP

6、riority()設(shè)置線程優(yōu)先級。StringBuilder不是線程安全的,速度快;StringBuffer線程安全,慢。泛型是一個(gè)類型安全機(jī)制,用于解決安全問題。集合:為方便存儲(chǔ)和操作對象,出現(xiàn)集合類。數(shù)組可以存儲(chǔ)對象,但長度固定,集合長度可變;數(shù)組可以存儲(chǔ)基本數(shù)據(jù)類型,集合只能存儲(chǔ)對象。Collection:List和Set List:有序,元素可以重復(fù),有索引。 ArrayList,底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組。查找速度快。刪除元素用equals()判斷 LinkList,鏈表,增刪速度快。 Vector。線程同步,數(shù)組,查找速度快。 Set:無序。元素唯一。 HashSet:底層數(shù)據(jù)結(jié)構(gòu)式哈希表

7、。通過hashCode()和equals()方法保持唯一性。 如果元素hashCode值相同才會(huì)判斷equals是否為true; TreeSet:底層是二叉樹??梢詫υ剡M(jìn)行排序。按自然順序就是compareTo()。實(shí)現(xiàn)排序的兩種方法:1、 實(shí)現(xiàn)Comparable接口,覆蓋comapreTo(Object obj)方法。2、 實(shí)現(xiàn)Comparator接口,覆蓋compare(Object ,Object)方法。Map: Hashtable,底層哈希表,不可以存儲(chǔ)null值或鍵。線程同步。效率低。 HashMap,哈希表,允許使用null值或鍵。不同步,效率高。 TreeMap。底層是二叉樹

8、,線程不同步??梢越o鍵進(jìn)行排序。獲取Map元素的兩種方法:1、 Set keyset,將Map集合中的鍵存入Set集合;2、 SetMap.Entry mapEntry,將Map集合中的映射關(guān)系存入Set集合。Collections:java集合的工具類,用于操作集合類。Arrays集合:用于操作數(shù)組的工具類。1.5新特性:可變參數(shù),int.arr靜態(tài)導(dǎo)入:import static java.lang.System.*;用于導(dǎo)入靜態(tài)方法;import java.lang.*;用于導(dǎo)入類文件。System類:getProperties()方法獲得返回系統(tǒng)屬性Properties(Map集合子類

9、)對象。Runtime類:運(yùn)行時(shí)操作類。單例設(shè)計(jì)模式。Calendar類:抽象類,用getInstance()獲得對象。Math類。IO流:常用基類:派生子類用父類名做后綴字節(jié)流:InputStream,OutputStream字符流:Reader,Writer字符流:FileWriter,FileReader,需要flush();字符流緩沖區(qū):BufferedReader,BufferedWriter;要結(jié)合流才能使用。需要flush(),關(guān)閉緩沖區(qū)就是關(guān)閉緩沖區(qū)的流對象。LineNumberReader(FileReader)類,getLineNumber()方法可以獲得行號字節(jié)流:Fil

10、eOutputStream,F(xiàn)ileInputStream。操作多媒體文件。轉(zhuǎn)換流:InputStreamReader,OutputStreamWriter。屬于字符流的子類。In(System.in),out返回字節(jié)流。System.setIn(InputStream),System.setOut(PrintStream);改變標(biāo)準(zhǔn)輸入輸出。File類:合并流:SequenceInnputStream。用vector的elements()得到Enumeration。切割文件:循環(huán)里邊創(chuàng)建流、關(guān)閉流。講一個(gè)文件分部分存儲(chǔ)在幾個(gè)文件中。java.Awt:需要調(diào)用本地系統(tǒng)方法實(shí)現(xiàn)功能。javax.

11、Swing:完全由java實(shí)現(xiàn),增強(qiáng)移植性。Component:1、Container:Window,Panel布局管理器:1、FlowLayout,Panel默認(rèn)布局;2、BorderLayout,F(xiàn)ram默認(rèn)。TCP和UDP:TCP要經(jīng)過三次握手建立連接,傳輸大量數(shù)據(jù),可靠協(xié)議,效率低。UDP不需要建立連接,不可靠協(xié)議,速度快。Socket:網(wǎng)絡(luò)服務(wù)的一種機(jī)制,網(wǎng)絡(luò)通信就是Socket間的通信,數(shù)據(jù)在兩個(gè)Socket間通信。TCP:Socket,ServerSocketUDP:DatagramSocket,DatagramPacket加強(qiáng):overload:重載,存在于父類和子類、同類中。

12、只能通過不同參數(shù)樣式重載。override:重寫,存在于父類和子類之間。方法名、參數(shù)、返回值相同。子類方法不能縮小父類方法訪問權(quán)限。不能拋出更多異常??勺儏?shù):int.arrFor循環(huán)增強(qiáng):for(int i:int)枚舉:讓某個(gè)變量的取值只能為若干個(gè)固定值中的一個(gè)。反射:在運(yùn)行狀態(tài)能夠知道類的所有屬性和方法,并調(diào)用對象的任意一個(gè)方法。獲取類信息以及調(diào)用對象的方法。類加載器:負(fù)責(zé)加載java類的字節(jié)碼到虛擬機(jī)中。每個(gè)類加載器加載類時(shí)先委托給其上級加載器,當(dāng)所有祖宗類加載器都沒有加載到類,回到發(fā)起者類加載器時(shí),還沒加載到類,拋出ClassNotFoundException異常。JavaBean:

13、有set和get方法獲得類屬性的特殊java類。用于傳遞數(shù)據(jù)信息。內(nèi)省:IntroSpector,java語言對Javabean屬性、事件的一些缺省處理方法。Beanutils工具包注解:Override 表示當(dāng)前方法是覆蓋父類的方法。 Deprecated 表示當(dāng)前元素是不贊成使用的。 SuppressWarnings 表示關(guān)閉一些不當(dāng)?shù)木幾g器警告信息。Java系統(tǒng)默認(rèn)三個(gè)類加載器:BootStrap,ExtClassLoader,AppClassLoader創(chuàng)建動(dòng)態(tài)類的實(shí)例對象:1、通過實(shí)現(xiàn)的接口告訴要實(shí)現(xiàn)的動(dòng)態(tài)類要實(shí)現(xiàn)哪些方法。2、產(chǎn)生的類的字節(jié)碼要有一個(gè)關(guān)聯(lián)的類加載器對象。3、執(zhí)行代碼

14、的對象InvocationHandler。代理:用Proxy類的getProxyClass(classLoader,interface)獲得動(dòng)態(tài)類的字節(jié)碼文件。用反射獲得構(gòu)造器。用構(gòu)造器的newInstance()InvocationHandler接口的對象做參數(shù)獲得一個(gè)類對象。InvocationHandler對象重寫pubic Object invoke(Object proxy,Method method,Object args)方法返回method.invoke(target,args)。創(chuàng)建動(dòng)態(tài)代理對象步驟:1、 實(shí)現(xiàn)InvocationHandler 接口創(chuàng)建自己的調(diào)用處理器。重寫

15、invoke方法。2、 用Proxy.newProxyInstance(classLoader,new ClassInterface.class,handler方法獲得代理類實(shí)例。Bank:NumberManager類:產(chǎn)生客戶Private int lastNumber;Private List queueNumber;int synchronized generateNewManager():產(chǎn)生新客戶號碼??蛻艟€程調(diào)用。int synchronized fetchServiceNumber():取走客戶號碼。窗口線程調(diào)用。List是共享數(shù)據(jù)。需要互斥。NumberMachine類:號碼管理器,采用單例設(shè)計(jì)模式private NumberManager commonManager;用get()返回對象。private NumberManager expressManager;用get()訪問。private NumberManager vipManager;用get()訪問。Enum CustomerType COMMON,EXPRESS,VIP;ServiceWindow類:窗口private int windowId;窗口號碼enum CustomerType type;pu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論