Java学习总结 16个亮点
1.八大基本數(shù)據(jù)類型
byte(字節(jié)型8)?? int(整型;32;程序中一般默認(rèn)為int型)?? short(短整型 16)? long(長(zhǎng)整型 32)?? float(浮點(diǎn)型 32)? double(雙精度浮點(diǎn)型 64)? char(字符型 16)? boolean(布爾型 只有true和false)
小范圍內(nèi)的整數(shù)類型可以通過(guò)賦值轉(zhuǎn)化成大范圍的數(shù)據(jù)類型.而大范圍的數(shù)據(jù)類型要想轉(zhuǎn)換為小范圍的數(shù)據(jù)類型,則需要強(qiáng)制轉(zhuǎn)換,使用”(數(shù)據(jù)類型)”進(jìn)行強(qiáng)制轉(zhuǎn)換
string不是java中的一種基本數(shù)據(jù)類型,它是一個(gè)特殊的類,它的對(duì)象是引用類型.
2.類
類中定義了對(duì)象所共有的方法和屬性,就像一個(gè)模板,可以通過(guò)類創(chuàng)建多個(gè)對(duì)象
類的定義:格式:public class 類名{}
??????????? 在類中寫方法和屬性
??????????? 屬性的定義:private 數(shù)據(jù)類型 屬性名;
主程序入口(主函數(shù)):? public static void main (Sring args [ ]){}
創(chuàng)建類的對(duì)象:? 類名 對(duì)象名= new 類名();
*都要注意大小寫,類名要與class文件名相同
3.方法
1.一般方法
方法的定義格式:訪問(wèn)限制符 返回類型 方法名 (參數(shù)類型 參數(shù)){}
方法的分類:1.有參無(wú)參? 2.有返回值,無(wú)返回值
方法的調(diào)用:? 對(duì)象名.方法名(參數(shù));
*方法調(diào)用時(shí),要根據(jù)定義方法時(shí)是否有參數(shù)來(lái)調(diào)用,若方法有參數(shù),調(diào)用時(shí)也要加上相應(yīng)的參數(shù),也可以傳入對(duì)象
方法的重載:方法名相同,而參數(shù)類型和參數(shù)的個(gè)數(shù)不同
2.構(gòu)造方法
每個(gè)類都有一個(gè)默認(rèn)的無(wú)參的構(gòu)造方法
如果自己再定義一個(gè)構(gòu)造方法,程序就會(huì)使用重新定義的構(gòu)造方法,即構(gòu)造方法的重載
主要用途:初始化對(duì)象的屬性值
構(gòu)造方法沒有任何返回值類型,且必須與類名相同
訪問(wèn)限制符 方法名(參數(shù)類型 參數(shù)){}
4.this關(guān)鍵字
在類中用來(lái)指代當(dāng)前對(duì)象 this.name =name; 第一個(gè)name為屬性值,第二個(gè)name為傳入的參數(shù)值
5.值傳遞與引用傳遞
值傳遞傳遞的是變量中的內(nèi)容,引用傳遞傳遞的是變量的首地址
6.類的繼承
public class 子類名extends 父類名{}
使用extends關(guān)鍵字,子類自動(dòng)具有父類的方法和屬性,當(dāng)子類調(diào)用方法時(shí),是在調(diào)用父類中的方法,子類也可自己定義方法.
子類中方法的重寫:和父類的方法要一致,方法體不一樣.
*在java中子類只能繼承一個(gè)父類
7.多態(tài)指的是一種不確定性,只有在運(yùn)行之后才知道具體的內(nèi)容
8.接口
子類重寫父類飛的方法是必須要定義接口
接口的定義是interface,而不是class
接口默認(rèn)的限制符是public
接口定義的規(guī)則:1.接口中定義的方法不能有任何方法體,只定義方法的返回值類型,方法名,參數(shù),不能用任何的實(shí)現(xiàn).
2.不能直接使用接口創(chuàng)建對(duì)象
3.接口中可以定義屬性,但這些屬性定義后不可以在改變
接口的實(shí)現(xiàn)使用的是implements
?????????? public class 類名 implements 接口名{}
?????????? 實(shí)現(xiàn)類中必須重寫接口中的方法名(接口中方法沒有方法體,類中要重寫)
類和接口的關(guān)系和比較:
?????? *繼承的關(guān)鍵字不同,interface和extends
*一個(gè)類可以繼承多個(gè)接口,而一個(gè)類只能繼承一個(gè)父類,一個(gè)接口可以繼承多個(gè)接口
*類通過(guò)extends繼承類
類通過(guò)implements繼承接口
?接口通過(guò)extends繼承接口
9.抽象類
抽像類定義使用abstract關(guān)鍵字。
抽象類的定義:修飾限制符 abstract? class 類名{}
在抽象類中可以定義像接口中沒有實(shí)現(xiàn)的方法,也可以定義實(shí)現(xiàn)了的方法,所以說(shuō)抽象類是介于類的接口之間的
定義抽象方法的格式:限制修飾符abstract void方法名();
*子類繼承抽像類時(shí),使用extends關(guān)鍵字,在子類中,必須實(shí)現(xiàn)抽象類中的抽象方法。子類只能同時(shí)繼承一個(gè)抽象類,與接口不同
*抽象類也不能直接創(chuàng)建對(duì)象,與接口相同
10.關(guān)鍵字
1.可見性修飾關(guān)鍵字:
public:公有的,公開性最高。抽象類,接口的默認(rèn)關(guān)鍵字
??????? ?放在方法前,表示方法可以被其他包中的類調(diào)用??????
private:私有的。只能由類內(nèi)部的方法或構(gòu)造器來(lái)調(diào)用,屬性一般定義為private的
protected:受保護(hù)的。類的默認(rèn)關(guān)鍵字
2.static關(guān)鍵字:
static方法:使用static限定的方法稱為靜態(tài)方法
它與非靜態(tài)方法的區(qū)別是:非靜態(tài)方法的調(diào)用需要通過(guò)創(chuàng)建該類的對(duì)象來(lái)調(diào)用
??????????????????????? 靜態(tài)方法直接使用類名。靜態(tài)方法名()調(diào)用
static屬性:可以在任何方法中直接使用,不創(chuàng)建類的對(duì)象
3.super:調(diào)用父類方法
4.final:最終的,表示不可改變,放在屬性前表示不可更改,放在方法前,當(dāng)子類繼承時(shí),不可以重寫此方法
11.數(shù)組
一維數(shù)組的定義:數(shù)據(jù)類型 數(shù)組名 [ ] = new 數(shù)據(jù)類型[數(shù)組長(zhǎng)度];
??????????? 數(shù)據(jù)類型 數(shù)組名 [ ] = {值,……};
二維數(shù)組的定義:數(shù)據(jù)類型? 數(shù)組名 [ ] [ ] = new 數(shù)據(jù)類型 [數(shù)組長(zhǎng)度][數(shù)組長(zhǎng)度];
數(shù)組排序的方法:冒泡法,插入排序,選擇排序……
12.對(duì)列
隊(duì)列可以像數(shù)組一樣有序的存放對(duì)象,也可以自動(dòng)增長(zhǎng)
? 實(shí)現(xiàn)隊(duì)列的思路:在實(shí)現(xiàn)類的內(nèi)部,使用數(shù)組保存裝入隊(duì)列的對(duì)象,每次添加新的對(duì)象時(shí),創(chuàng)建一個(gè)比原來(lái)數(shù)組長(zhǎng)度大一的數(shù)組
泛型:定義接口時(shí) 接口名<E>,相當(dāng)于一個(gè)模板
????? 在創(chuàng)建隊(duì)列時(shí),指定隊(duì)列中存放對(duì)象的類型即可
13.集合框架:
Set:無(wú)序的
List:相對(duì)有序的,以線性方式存儲(chǔ),沒有特定的順序,只有一個(gè)開頭和結(jié)尾
Queue:有序的
14.文件:
通過(guò)File對(duì)象的方法創(chuàng)建文件或目錄,刪除文件和獲取列表目錄下的文件
文件分類:真實(shí)文件,目錄文件,虛擬文件
遞歸:是通過(guò)自己調(diào)用自己進(jìn)行計(jì)算,關(guān)鍵是找好終止運(yùn)算的條件,否則將陷入死循環(huán)
15.異常:
在程序運(yùn)行的過(guò)程中,發(fā)生一些情況,導(dǎo)致程序可能出錯(cuò)(中斷運(yùn)行)
常見的異常:空指針異常,文件異常,IO異常
異常處理的一般方法:將異常往外拋
1.?????? try{}catch(){}finally{}
2.?????? ?throws
16.IO流:
流是java中輸入輸出的抽象
流的分類:按方向分:輸入流(InputStream)和輸出流(OutputStream)
????????? 按性質(zhì)分:基礎(chǔ)字節(jié)流,過(guò)濾流,基與具體數(shù)據(jù)類型的流,基與對(duì)象讀寫
InputStream/OutputStream子類:文件讀寫
FileInputStream:從文件中讀取數(shù)據(jù)
FileOutputStream:寫數(shù)據(jù)到文件
緩沖流:BufferedInputStream/BufferedOutputStream
??????? 使用流讀寫數(shù)據(jù)時(shí),一般是一個(gè)字節(jié)一個(gè)字節(jié)的讀取
??????? 經(jīng)歷的過(guò)程為:輸入文件—>操作系統(tǒng)內(nèi)存—>JVM內(nèi)存—>代碼變量—>操作系統(tǒng)內(nèi)存—>輸出文件
??????? 而緩沖流則是開辟了一塊一定大小的區(qū)域,使得每次傳送緩沖區(qū)字節(jié)相對(duì)較多的字節(jié),大大提高了效率
轉(zhuǎn)載于:https://www.cnblogs.com/cn-java/archive/2012/02/13/2349643.html
總結(jié)
以上是生活随笔為你收集整理的Java学习总结 16个亮点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: JS中关于clientWidth、off
 - 下一篇: WPF 获得文件夹路径 FolderBr