java学习总结及心得体会
前言:
哈哈,今天是2015年8月2號(hào),星期日,今天是收貨的一天,很開(kāi)心,很快樂(lè)。到底發(fā)生了什么呢,容我慢慢來(lái)。。。
世界很大,人生有限,在這有限的時(shí)間里,你能做些什么,你該做什么,如何去做,你來(lái)到這里究竟是為了什么,你想過(guò)嗎?
這幾天,我好像開(kāi)竅了,我知道我該去做什么了。借用一句話,“有一天,你終于知道,你該去做什么,于是你開(kāi)始去做”,這是《太極跑》中的一段話。
我是一個(gè)孩子,很傻,但是我喜歡自己。我熱愛(ài)跑步,熱愛(ài)運(yùn)動(dòng),每周至少四天晨跑,堅(jiān)持了好多年了。前天北京和張家口申奧成功,我激動(dòng)的哭了,以前經(jīng)常往返兩個(gè)城市,一種莫名的愛(ài),莫名的感動(dòng)。
本來(lái)是昨天晚上總結(jié)的,因?yàn)椴榭碼ndroid開(kāi)發(fā)的資料,搜索到很晚,東西好多,手里的資料也很多,壓力很大,學(xué)習(xí)空間很大,加油!
好了,我們開(kāi)始吧,我用了兩個(gè)多星期的時(shí)間,學(xué)習(xí)了java基礎(chǔ)知識(shí),照著25天的視頻學(xué)的,講的還不錯(cuò),中間我也跟著敲了好多,應(yīng)該算剛剛?cè)腴T(mén)吧,學(xué)而時(shí)習(xí)之,不亦樂(lè)乎,學(xué)而不思則罔,思而不學(xué)則殆,學(xué)無(wú)止境,來(lái)吧!這里只總結(jié)一些比較實(shí)用及重點(diǎn)內(nèi)容
一:java語(yǔ)言基礎(chǔ)部分
1:基本數(shù)據(jù)類型
java語(yǔ)言有8種基本數(shù)據(jù)類型:byte(占1個(gè)字節(jié)),short(占2個(gè)字節(jié)),int(占4個(gè)字節(jié)),long(占8個(gè)字節(jié)),float(占4個(gè)字節(jié)),double(占8個(gè)字節(jié)),char(占2個(gè)字節(jié)),boolean(占1個(gè)字節(jié))。
2:java命名規(guī)則:
包名:所有字母都小寫(xiě),比如,xxxyyyzzz
類名,接口名:所有單詞首字母大寫(xiě),比如,XxxYyyZzz
變量名,函數(shù)名:第一個(gè)單詞小寫(xiě),其他單詞首字母大寫(xiě),比如,xxxYyyZzz
常量名:所有字母大寫(xiě),多單詞用下劃線分割,比如,XXX_YYY_ZZZ
3:運(yùn)算符優(yōu)先級(jí):
邏輯與&&????? 優(yōu)先級(jí) 大于 邏輯或||
??????? 按位與&???????? 優(yōu)先級(jí) 大于 按位或|
4:JKD1.7 switch表達(dá)式的值支持字符串,比如swtich("周一")?? ...
5:高級(jí)for循環(huán)(這個(gè)在遍歷集合中很給力)
格式:for(數(shù)據(jù)類型 變量名:被遍歷的集合(Collection)或數(shù)組)?? {}
二:類、對(duì)象及特性
1:類和對(duì)象
類:對(duì)現(xiàn)實(shí)生活中事物的描述
對(duì)象:就是這類事物中實(shí)實(shí)在在的個(gè)體,java中一切都是對(duì)象,具體對(duì)象是java在堆內(nèi)存中用new建立的實(shí)體
2:權(quán)限修飾符
一個(gè).java文件中只能有一個(gè)public類
static: 用于修飾成員(成員變量和成員方法),當(dāng)成員被static修飾后,該成員可被類名直接調(diào)用,類名.靜態(tài)成員
static修飾后的特點(diǎn):
隨著類的加載而加載,優(yōu)先于對(duì)象存在,被所有對(duì)象共享,可以被類名直接調(diào)用。
靜態(tài)方法只能訪問(wèn)靜態(tài)成員,其方法中不能定義super,this關(guān)鍵字,因?yàn)殪o態(tài)優(yōu)先于對(duì)象存在,主函數(shù)是靜態(tài)的
靜態(tài)優(yōu)點(diǎn):把對(duì)象的共享數(shù)據(jù)單獨(dú)存儲(chǔ),節(jié)省空間,可被類名直接調(diào)用。缺點(diǎn):生命周期過(guò)長(zhǎng),訪問(wèn)出現(xiàn)局限(只能訪問(wèn)靜態(tài))。
3:this關(guān)鍵字:代表本類對(duì)象,哪個(gè)對(duì)象調(diào)用this所在的函數(shù),this就代表哪個(gè)對(duì)象
4:構(gòu)造函數(shù)
一個(gè)類中默認(rèn)會(huì)有一個(gè)空參數(shù)的構(gòu)造函數(shù),其權(quán)限和所屬類的權(quán)限一致
作用是給對(duì)象進(jìn)行初始化,對(duì)象一建立就會(huì)調(diào)用與之對(duì)應(yīng)的構(gòu)造函數(shù)。
這個(gè)地方有容易混淆的地方,面試時(shí)會(huì)遇到,開(kāi)發(fā)者一般不會(huì)玩這個(gè),就是靜態(tài)代碼塊和構(gòu)造代碼塊,舉個(gè)例子,看下圖吧:
靜態(tài)代碼塊用來(lái)給類初始化,比構(gòu)造代碼塊先執(zhí)行,后者給對(duì)象初始化,然后才構(gòu)造函數(shù)執(zhí)行。希望大家了然。。。
5:特性
封裝:隱藏對(duì)象屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問(wèn)方式,提高復(fù)用性和安全性
繼承:必須類與類間有關(guān)系才能繼承,提高代碼復(fù)用性,java只支持單繼承,但是可以有多層繼承,但是可以用實(shí)現(xiàn)來(lái)彌補(bǔ)
子類為什么一定要訪問(wèn)父類的構(gòu)造函數(shù)呢:因?yàn)楦割愔械臄?shù)據(jù),子類是可以直接獲取的,所以子類對(duì)象在建立的時(shí)候,需要先查看父類是如何對(duì)這些數(shù)據(jù)進(jìn)行初始化的,如果要指定父類中指定的構(gòu)造函數(shù),可以手動(dòng)定義super語(yǔ)句來(lái)實(shí)現(xiàn)。
看練習(xí):
多態(tài):某一類事物的多種存在形態(tài)
多態(tài)的實(shí)現(xiàn):父類的引用指向了自己的子類對(duì)象(向上轉(zhuǎn)型)
多態(tài)的前提:類與類之間有關(guān)系,繼承或?qū)崿F(xiàn),通常還存在覆蓋
多態(tài)的好處:提高程序擴(kuò)展性,弊端:父類引用只能訪問(wèn)父類中成員。
此處有練習(xí)題:
6:抽象類(里面有一些看不懂的東西)哈哈
抽象方法一定在抽象類中
抽象方法和抽象類必須被關(guān)鍵字abstract修飾
抽象類不能用new創(chuàng)建對(duì)象,不能實(shí)例化,因?yàn)闆](méi)意義,方法沒(méi)內(nèi)容
抽象類中的抽象方法要被使用,必須由子類重寫(xiě)所有的抽象方法后,建立子類對(duì)象調(diào)用
7:接口
接口是對(duì)外暴露的規(guī)則,是程序的功能擴(kuò)展,接口可以用來(lái)多實(shí)現(xiàn),類與接口是實(shí)現(xiàn)關(guān)系,類可以繼承一個(gè)類的同時(shí)實(shí)現(xiàn)多個(gè)接口,接口與接口間可有繼承關(guān)系。
接口是特殊的抽象類,接口成員有固定修飾符,常量:public static final 方法:public abstract
接口不能創(chuàng)建對(duì)象,被子類實(shí)現(xiàn)后,子類需重寫(xiě)接口中所有抽象方法,這樣子類才能實(shí)例化,否則子類還是一個(gè)抽象類。
8:重寫(xiě)與重載
重寫(xiě):是對(duì)父類方法的重寫(xiě),子父類方法要一模一樣
重載:同名函數(shù)的參數(shù)列表不同,看練習(xí):
9:內(nèi)部類
描述事物時(shí),事物內(nèi)部還有事物,該事物可用內(nèi)部類描述,比如人體類里有心臟類,,,
??????????????? Java的內(nèi)部類構(gòu)造時(shí)持有對(duì)外部類的應(yīng)用,C++不會(huì),這一點(diǎn)和C++不一樣。這點(diǎn)容易引起內(nèi)存泄露,要注意.
在Java中,非靜態(tài)的內(nèi)部類和匿名內(nèi)部類都會(huì)隱式地持有其外部類的引用。靜態(tài)的內(nèi)部類不會(huì)持有外部類的引用。可以參考這里:
細(xì)話Java:"失效"的private修飾符
內(nèi)部類訪問(wèn)規(guī)則:
內(nèi)部類可直接訪問(wèn)外部類(這里的意思當(dāng)然就是包含內(nèi)部類的類)中成員,包括私有
外部類要訪問(wèn)內(nèi)部類,必須建立內(nèi)部類對(duì)象
內(nèi)部類可被static修飾,此時(shí)其只能訪問(wèn)靜態(tài)成員了,這個(gè)你都會(huì)了,哈哈。但是內(nèi)部類定義在局部時(shí),也就是在外部類的方法中定義一個(gè)類,此時(shí)的內(nèi)部類是不能被成員修飾符修飾的,此時(shí)仍能訪問(wèn)外部類中的成員,并只能訪問(wèn)其所在的局部中的被final關(guān)鍵字修飾的局部變量。這個(gè)有點(diǎn)繞,開(kāi)發(fā)中用的少,面試,哈哈,大熱門(mén)哦。。。
匿名內(nèi)部類,這個(gè)在開(kāi)發(fā)中也是可以用的,這個(gè)一般是繼承或?qū)崿F(xiàn)一個(gè)類,調(diào)用或重寫(xiě)其方法時(shí)方便的使用,缺點(diǎn)是可讀性較差。。。
10:異常處理機(jī)制
java兩個(gè)重要特性,垃圾回收機(jī)制和異常處理機(jī)制,使得java沒(méi)有內(nèi)存泄露,實(shí)現(xiàn)平臺(tái)無(wú)關(guān)。
這個(gè)地方注意catch捕捉到異常后要有個(gè)處理,不要不寫(xiě)也不要直接toString,printStackTrace(),要處理哦。還有一些必須執(zhí)行的語(yǔ)句要放到finally代碼塊中,比如數(shù)據(jù)庫(kù)的關(guān)閉等。
throws和throw區(qū)別:
throws使用在函數(shù)上,throw使用在函數(shù)內(nèi)
throws后面跟異常類名,可以跟多個(gè),逗號(hào)隔開(kāi),throw后跟異常對(duì)象。
自定義異常類,只需繼承Exception類,自定義輸出內(nèi)容的話,在構(gòu)造函數(shù)里調(diào)用Exception類的構(gòu)造函數(shù),寫(xiě)super(str)即可,這個(gè)str就是你構(gòu)造函數(shù)參數(shù),也就是你自定義的輸出內(nèi)容,哈哈。。。
三:java其他核心技術(shù)
1:java集合類和泛型
2:I/O
3:多線程
4:網(wǎng)絡(luò)
5:GUI
總結(jié)
以上是生活随笔為你收集整理的java学习总结及心得体会的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: centos利用tar包安装phpmya
- 下一篇: Web中的鼠标自动移动