java八大基本數據類型「簡述static和final的區別」

之前學習了幾個關鍵字public,abstract, extends, implements, interface, 今天介紹static(靜態的)final(最終的)

static

從字面上意思很好理解,靜態的,static 是一頂帽子,看戴在誰頭上,

不會修改/只讀/只要一份,static

static接下面四種

–變數 static int a

–方法 static void(){} static int(){}

–類 static class

–匿名方法塊 {}

靜態的不需要new對象就能在這個類中調用,直接用類名點操作符調用。

在靜態方法中,只能使用靜態變數,不能使用非靜態變數

//靜態代碼塊
static
{
     
}

static塊 –在程序運行期間,這段代碼只運行一次。 –執行順序:static塊 > 匿名塊 > 構造函數。

static變數:不管new多少個對象,內存中只有一份在棧內存中。

Java核心技術(初階)——static、final和常量池

final

由於Java裡面沒有constant(不變數),用final 關鍵字修飾常量。static final

final類:沒有子類繼承

–final方法:不能被子類改寫

–final變數:基本類型不能修改值,對象類型不能修改指針

Java核心技術(初階)——static、final和常量池

final不能修改有兩個含義,見圖片代碼注釋。

final的對象不能new ,因為new一個對象,需要在堆內存開闢一個空間。

Java核心技術(初階)——static、final和常量池

常量池

Java中的常量

–public static final

–建議變數名字全大寫,以連字元相連,如OIL_CAR

一種特殊的常量:介面內定義的變數默認是常量

Java核心技術(初階)——static、final和常量池

這題會考!

圖片中第一哥是true, 其他是false.

了解 棧空間,和堆空間。

常量式(字面量)賦值創建,放在棧內存 (將被常量化)

new對象進行創建,放在堆內存 (不會常量化)

常量池:相同的值只存儲一份,節省內存,共享訪問(多個指針指向一個地址內容)

Java為包裝類(8個基本變數除了float和double)

字元串都建立常量池

Java核心技術(初階)——static、final和常量池

同學,看這裡不是看上面,面試會考

Java核心技術(初階)——static、final和常量池

看到這裡你應該會做上面那題了吧,比較對象大小,比較指針是否指向同一個東西

Java核心技術(初階)——static、final和常量池

字元串String 不可變對象

修改用下面的方法

StringBuffer(同步,線程安全,修改快速),

StringBuilder(不同步,線程不安全,修改更快)

字元串內容比較:equals方法

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/258977.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-15 16:29
下一篇 2024-12-15 16:29

相關推薦

發表回復

登錄後才能評論