Java中变量、类初始化顺序
類中聲明的靜態變量在遞歸調用中的值不會發生變化,但是對于非靜態變量遞歸過程中會發生變化,初始化為0
static聲明的為類變量,而非static聲明的為實例變量
?
(byte,short,char)-int-long-float-double:
低級到高級自動類型轉換,高級到低級需要強制轉換,包裝類型過濾類型能夠轉換;
?
對于java的變量,我們知道有成員變量和局部變量。
關于他們的初始化,基本上所有書上都會寫。成員變量,java會幫助你初始化,局部變量,則需要程序員自己初始化。
?
對于類的成員變量。不管程序有沒有顯示的初始化,Java ?虛擬機都會先自動給它初始化為默認值。
規則為:
1、整數類型(byte、short、int、long)的基本類型變量的默認值為0。
2、單精度浮點型(float)的基本類型變量的默認值為0.0f。
3、雙精度浮點型(double)的基本類型變量的默認值為0.0d。
4、字符型(char)的基本類型變量的默認為 “/u0000”。
5、布爾性的基本類型變量的默認值為 false。
6、引用類型的變量是默認值為 null。
7、數組引用類型的變量的默認值為 null。春關鍵數組變量的實例后,如果沒有沒有顯示的為每個元素賦值,Java 就會把該數組的所有元素初始化為其相應類型的默認值。
局部變量初始化
?
局部變量聲明以后,Java 虛擬機不會自動的為它初始化為默認值。因此對于局部變量,必須先經過顯示的初始化,才能使用它。
如果編譯器確認一個局部變量在使用之前可能沒有被初始化,編譯器將報錯。
?
用幾句話概括下初始化順序規則(假設調用方式類似于上面代碼,即使用 new 操作符 ):
轉載于:https://www.cnblogs.com/csxf/p/3489198.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Java中变量、类初始化顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark 源码分析 -- RDD
- 下一篇: js中获得当前时间是年份和月份