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

下載本文檔

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

文檔簡(jiǎn)介

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

2、本;param 參數(shù);return 返回結(jié)果命令:javadoc -d 文件夾 -author -version xxx.java 。將生成一系列網(wǎng)頁(yè)。靜態(tài)代碼塊:static。用于給類(lèi)進(jìn)行初始化,只執(zhí)行一次,優(yōu)先于主函數(shù)。Person p=new Person():1、找到Person.class加載到內(nèi)存。2、執(zhí)行static代碼塊。3、在棧內(nèi)存中開(kāi)辟main()方法空間,并分配一個(gè) 變量p。4、在堆內(nèi)存中開(kāi)辟實(shí)體空間。5、進(jìn)行屬性的空間分配,并進(jìn)行默認(rèn)初始化。6、對(duì)空間屬性進(jìn)行顯示初始化。7、實(shí)體的構(gòu)造代碼初始化。8、調(diào)用對(duì)應(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)方法要訪問(wèn)它,所以也要靜態(tài)化。靜態(tài)方法不能訪問(wèn)非靜態(tài)的方法和屬性。創(chuàng)建私有并靜態(tài)的本類(lèi)對(duì)象。public static Single getInstance() /無(wú)法通過(guò)對(duì)象調(diào)用,只能是靜態(tài)。定義公有并靜態(tài)的方法,返回該對(duì)象。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è)父類(lèi)定義相同功能時(shí),子類(lèi)對(duì)象不確定要運(yùn)行哪一個(gè)。重載:方法名相同,但參數(shù)不同的多個(gè)同名函數(shù);覆蓋:子類(lèi)重寫(xiě)父類(lèi)的方法,要求方法名和參數(shù)類(lèi)型完全一樣 (參數(shù)不能是子類(lèi)),返回值和異常比父類(lèi)小或者相同(即為父類(lèi)的子類(lèi)),訪問(wèn)修飾符比父類(lèi)大或者相同隱藏:父類(lèi)和子類(lèi)擁有相同名字的屬性或者方法時(shí),父類(lèi)的同名的屬性或者方法形式上不見(jiàn)了,實(shí)際是還是存在的。多態(tài):同一操作作用于不同的對(duì)象,可以有不同的解釋

5、,產(chǎn)生不同的執(zhí)行結(jié)果。內(nèi)部類(lèi):內(nèi)部類(lèi)可以直接訪問(wèn)外部類(lèi)的成員,包括私有。外部類(lèi)必須建立內(nèi)部類(lèi)對(duì)象才能訪問(wèn)內(nèi)部類(lèi)成員。異常體系:error和exception=和equals()的區(qū)別:=和!=比較的是棧中的內(nèi)容(對(duì)象的地址),而equals()比較的是堆中的內(nèi)容(對(duì)象的內(nèi)容)。多線程:建立線程兩種方法:1、繼承Thread類(lèi);2、實(shí)現(xiàn)Runnable接口。繼承接口避免了單繼承的局限性。線程對(duì)象.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í)行。線程對(duì)象.setP

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

7、。通過(guò)hashCode()和equals()方法保持唯一性。 如果元素hashCode值相同才會(huì)判斷equals是否為true; TreeSet:底層是二叉樹(shù)??梢詫?duì)元素進(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。底層是二叉樹(shù)

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

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

10、eOutputStream,F(xiàn)ileInputStream。操作多媒體文件。轉(zhuǎn)換流:InputStreamReader,OutputStreamWriter。屬于字符流的子類(lèi)。In(System.in),out返回字節(jié)流。System.setIn(InputStream),System.setOut(PrintStream);改變標(biāo)準(zhǔn)輸入輸出。File類(lèi):合并流: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)過(guò)三次握手建立連接,傳輸大量數(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:重載,存在于父類(lèi)和子類(lèi)、同類(lèi)中。

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論