基于java變量和作用域以及成員變量的默認(rèn)初始化(詳解)
ava中的變量有成員變量和局部變量,定義在類中方法之外的變量成為成員變量或者成員字段(域),表示一個類所具有的屬性,定義為類的成員變量的變量的作用于是整個類,該變量在定義的時候不需要初始化,在使用前java會自動初始化成員變量,對于基本數(shù)據(jù)類型的的自動初始化如下:
java基本類型默認(rèn)初始化值
| 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);
}
}
上面代碼的輸出將會是默認(rèn)初始化后的值;
對于引用類型的變量則默認(rèn)初始化為null,雖然java會自動初始化成員變量,但自動初始化會帶來一些錯誤,所以在使用變量之前最好對其進(jìn)行初始化,以保證變量的使用符合自己想要的效果;默認(rèn)初始化的功能姿只是對于Java成員變量有效,如果要使用局部變量必須要對其進(jìn)行初始化,否則會得到編譯錯誤。
java和c語言一樣使用花括號對起始和終止位置進(jìn)行區(qū)分,代碼塊中的變量僅在該代碼塊結(jié)束前有效,超出該代碼塊后該變量是不可見的即不可用,對于對象來說,其作用域是一直可見的知道該對象被垃圾回收器回收了內(nèi)存,例如:
String s1 = new String("Hello world!");
引用變量s1的可見性在器作用域結(jié)束時就消失了,但是所創(chuàng)建的String對象將會一直存在于內(nèi)存中,直到j(luò)ava垃圾回收器回收了它的內(nèi)存,雖然String對象會一直存在于內(nèi)存中,但由于沒有一個引用指向該對象,所以該對象是不可用的。
以上這篇基于java變量和作用域以及成員變量的默認(rèn)初始化(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)通關(guān)時間復(fù)雜度和空間復(fù)雜度
對于一個算法,其時間復(fù)雜度和空間復(fù)雜度往往是相互影響的,當(dāng)追求一個較好的時間復(fù)雜度時,可能會使空間復(fù)雜度的性能變差,即可能導(dǎo)致占用較多的存儲空間,這篇文章主要給大家介紹了關(guān)于Java時間復(fù)雜度、空間復(fù)雜度的相關(guān)資料,需要的朋友可以參考下2022-05-05
Java中使用MyBatis-Plus操作數(shù)據(jù)庫的實例
本文主要介紹了Java中使用MyBatis-Plus操作數(shù)據(jù)庫的實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02
SpringBoot個性化啟動Banner設(shè)置方法解析
這篇文章主要介紹了SpringBoot個性化啟動Banner設(shè)置方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03
詳解Spring Security 中的四種權(quán)限控制方式
這篇文章主要介紹了詳解Spring Security 中的四種權(quán)限控制方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
SpringBoot+ruoyi框架文件上傳和下載的實現(xiàn)
文件的上傳和下載功能,是項目開發(fā)過程中比較常見的業(yè)務(wù)需求,本文主要介紹了SpringBoot+ruoyi框架文件上傳和文件下載的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-09-09
JavaWeb中HttpSession中表單的重復(fù)提交示例
這篇文章主要介紹了JavaWeb中HttpSession中表單的重復(fù)提交,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03
spring boot+vue 的前后端分離與合并方案實例詳解
這篇文章主要介紹了spring boot+vue 的前后端分離與合并方案實例詳解,需要的朋友可以參考下2017-11-11

