java變量和作用域以及成員變量的默認初始化


Java中的變量有成員變量和局部變量,定義在類中方法之外的變量成為成員變量或者成員字段(域),表示一個類所具有的屬性,定義為類的成員變量的變量的作用於是整個類,該變量在定義的時候不需要初始化,在使用前java會自動初始化成員變量,對於基本數據類型的的自動初始化如下:

java基本類型默認初始化值
int 0
short 0
byte 0
long 0
float 0.0
double 0.0
boolean false
char 0

 

 

 

 

 

 

 

 

 

例如:

public class test{
    private int i;
    private short m;
    private byte n;
    private long l;
    private char c;
    private float f;
    private double d;
    private boolean b;
    
    public static void main(String args[]){
        System.out.println(i);
        System.out.println(m);
        System.out.println(n);
        System.out.println(l);
        System.out.println(c);
        System.out.println(f);
        System.out.println(d);
        System.out.println(b);
    }
    
}      

上面代碼的輸出將會是默認初始化后的值;

對於引用類型的變量則默認初始化為null,雖然java會自動初始化成員變量,但自動初始化會帶來一些錯誤,所以在使用變量之前最好對其進行初始化,以保證變量的使用符合自己想要的效果;默認初始化的功能姿只是對於Java成員變量有效,如果要使用局部變量必須要對其進行初始化,否則會得到編譯錯誤。

  java和c語言一樣使用花括號對起始和終止位置進行區分,代碼塊中的變量僅在該代碼塊結束前有效,超出該代碼塊后該變量是不可見的即不可用,對於對象來說,其作用域是一直可見的知道該對象被垃圾回收器回收了內存,例如:

 String s1 = new String("Hello world!");

引用變量s1的可見性在器作用域結束時就消失了,但是所創建的String對象將會一直存在於內存中,直到java垃圾回收器回收了它的內存,雖然String對象會一直存在於內存中,但由於沒有一個引用指向該對象,所以該對象是不可用的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM