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