語法 關鍵字

2021-09-24 22:33:23 字數 2195 閱讀 7841

資料型別

基本資料型別

四種整數型別:byte、short、int、long

兩種浮點數型別:float、double

一種字元型別:char

一種布林型別:boolean

引用資料型別:類,陣列,介面...

取值範圍通過靜態常量獲取,不需要記憶

基本資料型別轉型原:大容量→ 小容量,需要強制轉換符,可能造成精度降低

關鍵字

this

this(): 呼叫構造方法

指向物件本身

synchronized

單詞釋義:同步,同步鎖

適用場景:解決多個執行緒同時訪問同一塊**或者方法,導致同一變數在不同執行緒中資料不一致的問題

作用物件:synchronized修飾方法or**塊,其實鎖定的是呼叫這個方法的例項物件。

如果加在靜態方法上,鎖定的就是class。類鎖和例項鎖不同。class鎖對類所有例項有效。

synchronized(class){}和加在靜態上效果一樣。

作用域:類鎖依賴於calss,例項鎖依賴calss物件。不同執行緒對於同步鎖是互斥的。

例如乙個執行緒擁有了這個物件的同步鎖,則另外乙個執行緒是拿不到的,除非這個執行緒釋放了自己拿到的同步鎖。

當乙個執行緒訪問「某物件」的「synchronized方法」或者「synchronized**塊」時,

其他執行緒訪問該物件」的「synchronized方法」或者「synchronized**塊時將被阻塞。

當乙個執行緒訪問「某物件」的「synchronized方法」或者「synchronized**塊」時,

其他執行緒可以訪問該物件的非同步**塊。

當乙個執行緒訪問「某物件」的「synchronized方法」或者「synchronized**塊」時,

其他執行緒對該物件的其他synchronized方法或者**塊將被阻塞。

如果是類鎖,則所有執行緒訪問該同步方法互斥

switch

條件選擇

可以是作用於yte、short、char、int、enum、string型別,但是long型別不能。

break

跳出當前迴圈

continue

結束本次迴圈進行下一次迴圈

static

static修飾的變數或方法在程式裡是唯一的,存在方法區

不需要例項化就能呼叫

super

子類中的父類物件引用

this

當前類內部對當前類的引用

abstract

只能被繼承的類,而介面可以同時繼承多個介面,所以推薦面向介面程式設計

final

變數:不可更改 方法:不可重寫 類:不可繼承

== 如果是基本資料型別,比較的是值,如果是引用型別,比較的是物件在記憶體中的位址

例如string,因為自動打包成物件,比較的其實是倆物件的物理記憶體位址

有關hashcode()中選用質數31: 1.結果適中 2.位操作方便:31 * i = (i << 5) - i

<<

表示左移,左移時不管正負,低位補0 

左移1位*2

>>

表示右移,如果該數為正,則高位補0,若為負數,則高位補1

右移1位/2

負數 以正數的反碼(0,1互換)+1 ,即補碼表示  最高位為0:正 最高位為1:負

public、protected、default、private

修飾符適用範圍《訪問許可權範圍越小,安全性越高》

訪問許可權 類 包 子類 其他包

public ∨ ∨ ∨ ∨ (對任何人都是可用的)

protect ∨ ∨ ∨ ×    (繼承的類可以訪問以及和private一樣的許可權)

default ∨ ∨ × ×    (包訪問許可權,即在整個包內均可被訪問)

private ∨ × × ×    (除型別建立者和型別的內部方法之外的任何人都不能訪問的元素)

ps:例項化物件並不是類本身,我們拿到的只是乙個指向該物件的引用,所以並不能訪問private屬性

只能在這個類本身的**裡被訪問。外部通常通過public方法訪問private屬性

static關鍵字語法總結

1.static修飾成員變數 如果乙個成員變數使用了static關鍵字,那麼這個變數不在屬於物件自己,而是屬於所在類,多個物件共享同乙份資料 2.static修飾成員方法 一旦使用了static修飾成員方法,那麼這就成為了靜態方法,靜態方法不屬於物件,而是屬於類的。如果沒有static關鍵字,那麼必...

new關鍵字 this關鍵字 base關鍵字

使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...

this關鍵字 static關鍵字

1.當成員變數和區域性變數重名,可以用關鍵字this來區分 this 代表物件,代表那個物件呢?當前物件 this就是所在函式所屬物件的引用 簡單說 那個物件呼叫了this所在的函式,this就代表哪個物件 this也可以用於在建構函式中呼叫其他建構函式 注意 只能定義在建構函式的第一行,因為初始化...