java學習總結及心得體會
前言:
哈哈,今天是2015年8月2號,星期日,今天是收貨的一天,很開心,很快樂。到底發生了什麼呢,容我慢慢來。。。
世界很大,人生有限,在這有限的時間裡,你能做些什麼,你該做什麼,如何去做,你來到這裡究竟是為了什麼,你想過嗎?
這幾天,我好像開竅了,我知道我該去做什麼了。借用一句話,“有一天,你終於知道,你該去做什麼,於是你開始去做”,這是《太極跑》中的一段話。
我是一個孩子,很傻,但是我喜歡自己。我熱愛跑步,熱愛運動,每週至少四天晨跑,堅持了好多年了。前天北京和張家口申奧成功,我激動的哭了,以前經常往返兩個城市,一種莫名的愛,莫名的感動。
本來是昨天晚上總結的,因為檢視android開發的資料,搜尋到很晚,東西好多,手裡的資料也很多,壓力很大,學習空間很大,加油!
好了,我們開始吧,我用了兩個多星期的時間,學習了java基礎知識,照著25天的視訊學的,講的還不錯,中間我也跟著敲了好多,應該算剛剛入門吧,學而時習之,不亦樂乎,學而不思則罔,思而不學則殆,學無止境,來吧!這裡只總結一些比較實用及重點內容
一:java語言基礎部分
1:基本資料型別
java語言有8種基本資料型別:byte(佔1個位元組),short(佔2個位元組),int(佔4個位元組),long(佔8個位元組),float(佔4個位元組),double(佔8個位元組),char(佔2個位元組),boolean(佔1個位元組)。
2:java命名規則:
包名:所有字母都小寫,比如,xxxyyyzzz
類名,介面名:所有單詞首字母大寫,比如,XxxYyyZzz
變數名,函式名:第一個單詞小寫,其他單詞首字母大寫,比如,xxxYyyZzz
常量名:所有字母大寫,多單詞用下劃線分割,比如,XXX_YYY_ZZZ
3:運算子優先順序:
邏輯與&& 優先順序 大於 邏輯或||
按位與& 優先順序 大於 按位或|
4:JKD1.7 switch表示式的值支援字串,比如swtich("週一") ...
5:高階for迴圈(這個在遍歷集合中很給力)
格式:for(資料型別 變數名:被遍歷的集合(Collection)或陣列) {}
二:類、物件及特性
1:類和物件
類:對現實生活中事物的描述
物件:就是這類事物中實實在在的個體,java中一切都是物件,具體物件是java在堆記憶體中用new建立的實體
2:許可權修飾符
一個.java檔案中只能有一個public類
static: 用於修飾成員(成員變數和成員方法),當成員被static修飾後,該成員可被類名直接呼叫,類名.靜態成員
static修飾後的特點:
隨著類的載入而載入,優先於物件存在,被所有物件共享,可以被類名直接呼叫。
靜態方法只能訪問靜態成員,其方法中不能定義super,this關鍵字,因為靜態優先於物件存在,主函式是靜態的
靜態優點:把物件的共享資料單獨儲存,節省空間,可被類名直接呼叫。缺點:生命週期過長,訪問出現侷限(只能訪問靜態)。
3:this關鍵字:代表本類物件,哪個物件呼叫this所在的函式,this就代表哪個物件
4:建構函式
一個類中預設會有一個空引數的建構函式,其許可權和所屬類的許可權一致
作用是給物件進行初始化,物件一建立就會呼叫與之對應的建構函式。
這個地方有容易混淆的地方,面試時會遇到,開發者一般不會玩這個,就是靜態程式碼塊和構造程式碼塊,舉個例子,看下圖吧:
靜態程式碼塊用來給類初始化,比構造程式碼塊先執行,後者給物件初始化,然後才建構函式執行。希望大家瞭然。。。
5:特性
封裝:隱藏物件屬性和實現細節,僅對外提供公共訪問方式,提高複用性和安全性
繼承:必須類與類間有關係才能繼承,提高程式碼複用性,java只支援單繼承,但是可以有多層繼承,但是可以用實現來彌補
子類為什麼一定要訪問父類的建構函式呢:因為父類中的資料,子類是可以直接獲取的,所以子類物件在建立的時候,需要先檢視父類是如何對這些資料進行初始化的,如果要指定父類中指定的建構函式,可以手動定義super語句來實現。
看練習:
多型:某一類事物的多種存在形態
多型的實現:父類的引用指向了自己的子類物件(向上轉型)
多型的前提:類與類之間有關係,繼承或實現,通常還存在覆蓋
多型的好處:提高程式擴充套件性,弊端:父類引用只能訪問父類中成員。
此處有練習題:
6:抽象類(裡面有一些看不懂的東西)哈哈
抽象方法一定在抽象類中
抽象方法和抽象類必須被關鍵字abstract修飾
抽象類不能用new建立物件,不能例項化,因為沒意義,方法沒內容
抽象類中的抽象方法要被使用,必須由子類重寫所有的抽象方法後,建立子類物件呼叫
7:介面
介面是對外暴露的規則,是程式的功能擴充套件,介面可以用來多實現,類與介面是實現關係,類可以繼承一個類的同時實現多個介面,介面與介面間可有繼承關係。
介面是特殊的抽象類,介面成員有固定修飾符,常量:public static final 方法:public abstract
介面不能建立物件,被子類實現後,子類需重寫介面中所有抽象方法,這樣子類才能例項化,否則子類還是一個抽象類。
8:重寫與過載
重寫:是對父類方法的重寫,子父類方法要一模一樣
過載:同名函式的引數列表不同,看練習:
9:內部類
描述事物時,事物內部還有事物,該事物可用內部類描述,比如人體類裡有心臟類,,,
Java的內部類構造時持有對外部類的應用,C++不會,這一點和C++不一樣。這點容易引起記憶體洩露,要注意.
在Java中,非靜態的內部類和匿名內部類都會隱式地持有其外部類的引用。靜態的內部類不會持有外部類的引用。可以參考這裡:
細話Java:"失效"的private修飾符
內部類訪問規則:
內部類可直接訪問外部類(這裡的意思當然就是包含內部類的類)中成員,包括私有
外部類要訪問內部類,必須建立內部類物件
內部類可被static修飾,此時其只能訪問靜態成員了,這個你都會了,哈哈。但是內部類定義在區域性時,也就是在外部類的方法中定義一個類,此時的內部類是不能被成員修飾符修飾的,此時仍能訪問外部類中的成員,並只能訪問其所在的區域性中的被final關鍵字修飾的區域性變數。這個有點繞,開發中用的少,面試,哈哈,大熱門哦。。。
匿名內部類,這個在開發中也是可以用的,這個一般是繼承或實現一個類,呼叫或重寫其方法時方便的使用,缺點是可讀性較差。。。
10:異常處理機制
java兩個重要特性,垃圾回收機制和異常處理機制,使得java沒有記憶體洩露,實現平臺無關。
這個地方注意catch捕捉到異常後要有個處理,不要不寫也不要直接toString,printStackTrace(),要處理哦。還有一些必須執行的語句要放到finally程式碼塊中,比如資料庫的關閉等。
throws和throw區別:
throws使用在函式上,throw使用在函式內
throws後面跟異常類名,可以跟多個,逗號隔開,throw後跟異常物件。
自定義異常類,只需繼承Exception類,自定義輸出內容的話,在建構函式裡呼叫Exception類的建構函式,寫super(str)即可,這個str就是你建構函式引數,也就是你自定義的輸出內容,哈哈。。。
三:java其他核心技術
1:java集合類和泛型
2:I/O
3:多執行緒
4:網路
5:GUI
相關文章
- Java 8 Lambda 表示式學習心得總結Java
- git學習心得總結Git
- 學習心得總結(2)
- 學習心得總結(1)
- Laravel 框架學習心得體會Laravel框架
- python學習心得體會(一)Python
- RabbitMQ學習心得體會之ExchangeMQ
- 學習“5S”管理心得體會
- Java-Stream流方法學習及總結Java
- Java記憶體模型學習總結Java記憶體模型
- Java學習總結Java
- 學習EJB CMP/CMR 的心得體會 (轉)
- java實習生學習心得Java
- 四則運算改進版+心得體會+總結
- 學習心得 TCP/IP攻擊原理分析總結TCP
- Java集合學習總結Java
- LotusScript及公式學習心得公式
- Java學習之LinkedHashMap學習總結JavaHashMap
- bootstrap學習心得總結:css樣式設計分享bootCSS
- Java集合類學習總結Java
- 【java學習之容器總結】Java
- Java Executor 框架學習總結Java框架
- 【java學習】java知識點總結Java
- 軟體學習之路總結
- 資料結構學習心得資料結構
- 心得體會
- Java中IO流學習總結Java
- 學習Java第六週總結Java
- java反射機制的學習心得Java反射
- webpack心得總結Web
- 學習Java的第五週總結Java
- Java資料結構之Map學習總結Java資料結構
- Java資料結構之Set學習總結Java資料結構
- JAVA基礎學習-數字與字串學習總結Java字串
- Java初階段學習的複習總結Java
- github心得體會Github
- Android及Robotium學習總結【環境…Android
- 中介軟體漏洞攻防學習總結