int默认值为0,Integer默认值为null
生活随笔
收集整理的這篇文章主要介紹了
int默认值为0,Integer默认值为null
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前提概要
????????Java為每個原始類型提供了封裝類,Integer是java為int提供的封裝類。
????????int的默認值為0,而Integer的默認值為null,即Integer可以區分出未賦值和值為0的區別,int則無法表達出未賦值的情況。
代碼示例?
public class TestJava {public static int i;public static Integer j;public static void main(String[] args) {System. out.println(i);System. out.println(j);} }輸出:?
0 null由此看出int的默認值為0,而Integer的默認值為null。那如果將i和j定義到main方法里呢?
public class TestJava {public static void main(String[] args) {int i;Integer j;System. out.println(i);System. out.println(j);}}運行:
?為啥這樣就失敗了呢?查閱static關鍵詞后發現:
將一個方法聲明為靜態方法,通常是為了方便在不創建對象的情況下調用。那我們可以理解為將方法聲明為靜態就可以出創建對象,int是基礎類型,integer是包裝類?加了static就省略了new了,非靜態變量需要初始化才能輸出值
另外,Java靜態變量初始化遵循以下規則:
1.靜態變量會按照聲明的順序先依次聲明并設置為該類型的默認值,但不賦值為初始化的值。
2.聲明完畢后,再按聲明的順序依次設置為初始化的值,如果沒有初始化的值就跳
鏈接:JAVA關于對象創建過程中初始化和聲明順序問題
總結
以上是生活随笔為你收集整理的int默认值为0,Integer默认值为null的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux十字符木马,Linux系统随机
- 下一篇: startlogging中设置setst