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:構造函數
一個類中默認會有一個空參數的構造函數,其權限和所屬類的權限一致
作用是給對象進行初始化,對象一建立就會調用與之對應的構造函數?! ?br />
這個地方有容易混淆的地方,面試時會遇到,開發者一般不會玩這個,就是靜態代碼塊和構造代碼塊,舉個例子,看下圖吧:
靜態代碼塊用來給類初始化,比構造代碼塊先執行,后者給對象初始化,然后才構造函數執行。希望大家了然。。。
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学习总结及心得体会的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos利用tar包安装phpmya
- 下一篇: Web中的鼠标自动移动