本文主要介紹了final關鍵字的基本使用方法及原理
final關鍵字可以修飾類、方法和引用。比如char[0] = 'a'。不改變物件記憶體位址,只改變了值。修飾類,該類不能被繼承。並且這個類的物件在堆中分配記憶體後位址不可變。
修飾方法,方法不能被子類重寫。
修飾引用,引用無法改變,對於基本型別,無法修改值,對於引用,雖然不能修改位址值,但是可以對指向物件的內部進行修改。
具體看一下下面的栗子:
final class fi class si}class bi }class ci extends bi }final chara = ;final intb = ;複製**
@testpublic void final修飾類() 複製**
@testpublic void final修飾方法() 複製**
@testpublic void final修飾基本型別變數和引用() ; final int c = ;// b = c;報錯 b[0] = 1; final string aa = "a"; final fi f = new fi(); //aa = "b";報錯 // f = null;//報錯 f.a = 1;}
複製**
一文讀懂Nginx
問 nginx的負載均衡演算法有什麼?預設是什麼演算法?答 1 輪詢 按請求的時間輪詢查空閒的後端伺服器 2 指定輪詢機率 機率的原因是後端伺服器的效能不均勻,好的多分點,差的少分點 3 固定ip繫結固定伺服器 預設是加權輪詢,就是優先訪問權重高的伺服器 問 nginx是單執行緒的嗎?答 是單執行緒...
一文讀懂SpringMVC
主要講的是dispatcherservlet這個類 ioc其實是乙個map,工程啟動後掃瞄路徑,根據類的全限定名建立bean 問 怎麼根據路徑找到方法?map還存key為 aaa value為該controller例項 問 autowired原理?自定義註解,在載入的時候,掃瞄controller層...
堆疊 一文讀懂
堆疊 stack 是一種先進後出的 操作受限的線性表,也可以直接稱為棧。可以把棧想象成乙個桶一樣,往這個桶裡面一層一層的放東西,先放進去的在裡面,後放進去的東西依次在外面。但取東西的時候就是先取靠近外面的,再依次一層層取裡面的。這就是 後進先出 last in first out 的原則。因此 棧 ...