java基礎知識點回顧
java基礎數據類型
bollean 1
char 2
byte 1, short 2 , int 4, long 8
float 4, double 8
-----------------------------------------------------
java 四大特征
抽象,封裝,繼承,多態
----------------------------------------------------
override 和 overload
override(重寫):子類重寫父類方法體,方法名,返回值,參數不變。
overload(重載):方法名相同,參數不同(類型,數量)。
-----------------------------------------------------
抽象類 和 接口
抽象類:類中含有(abstract)標記的抽象方法,必須是(abstract)標記的抽象類,但抽象類中可以沒有抽象方法。
接口:由抽象方法和常量的集合。接口中都是public方法和final常量。
-----------------------------------------------------
繼承(extends) 和 實現(implements)
繼承:子類繼承父類可以獲得父類的 非私有(private)屬性和方法,可以重寫父類的成員方法;
構造方法不能繼承,若想調用父類的構造方法可以 super(),有參數可以添加參數。
實現:子類必須重寫接口的所有方法。
------------------------------------------------------
static靜態代碼塊 和 static 關鍵字
static靜態代碼塊: 當一個類被加載的時候,首先加載靜態代碼塊。一個類的靜態代碼塊只能使用一次。
static 關鍵字:被 static 修飾的變量是全局變量,每個對象都可以使用同一個;
static 修飾的方法可以用 類名.方法名調用,static 方法可以調用成員方法,成員方法不能調用 static 方法,static 方法只能使用 static 標記的全局變量。
--------------------------------------------------------
修飾符
本類 | 同一個包 | 子類 | 其他包 | |
public | Y | Y | Y | Y |
protect | Y | Y | Y | |
default | Y | Y | ||
private | Y |
--------------------------------------------------------
String 和 StringBuffer
String:不可變的字符串。
StringBuffer:字符串是可變的。
-------------------------------------------------------
數組
數組:同類型的數據存放在一起的組合,數組長度固定不可更改。
-------------------------------------------------------
集合
常用:list,set,map
list:有序排列可以重復
set:無序排列不可重復,只能一個null,(排序方式Hash表)
map:鍵值對組合,鍵不可重復,值可以重復,(Hash表排序)
--------------------------------------------------------
Thread 類 和 Runnable 接口
Runable 接口:Runnable 只提供一個方法 run()。
Thread 類:Thread 類繼承 Runnable 接口。
線程開啟:使用 對象.start()方法開啟線程,線程開啟後調用run()方法。
-------------------------------------------------------
synchronize 進程同步鎖
進程同步 : 當 synchronize 標記一個方法或者代碼塊時,次方法或代碼塊在同一時間內只能有一個線程訪問,只有當前線程釋放鎖後其他線程才能訪問。
-------------------------------------------------------
yield() 和 join()
yield():暫停當前線程轉而執行其他線程。
join():t.join()暫停當前線程轉而執行 t 線程,當 t 結束後繼續執行。
-------------------------------------------------------
wait() 和 notify() ,notifyAll() 和 interrupt()
wait():使當前線程轉為等待狀態,等待狀態會釋放進程同步鎖,等待狀態後可以被notify()或者 notifyAll()喚醒,喚醒後從等待出繼續運行。
notify():隨機喚醒一個同鎖的等待進程。
notifyAll():隨機喚醒所有同鎖的等待進程。
interrupt():線程.interrupt() 將線程從 sleep(),wait(),join()狀態轉換成中斷狀態並拋出異常。
------------------------------------------------------
內部類
靜態內部類:創建在類中的類,static 修飾,只能調用外圍類的靜態屬性和方法。
成員內部類:創建在類中的類,不能使用 static修飾符。
匿名內部類:在方法中直接創建一個對象。
局部內部類:創建在方法體中的類,沒有修飾符,只能訪問 final 修飾的常量。
-----------------------------------------------------
java基礎知識點回顧