這篇文章給大家分享的是有關(guān)Java成員變量默認(rèn)值原理的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司10多年企業(yè)網(wǎng)站制作服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站制作及推廣,對(duì)木包裝箱等多個(gè)行業(yè)擁有多年的網(wǎng)站營銷經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
如果我們不做任何初始化工作,變量具有什么默認(rèn)值,或者是否具有默認(rèn)值呢?
其實(shí),成員變量在創(chuàng)建時(shí),系統(tǒng)會(huì)為其分配一個(gè)默認(rèn)值。不同類型的變量,默認(rèn)值也不相同,下面來看看各種類型的默認(rèn)值分別是什么。
用例子來說明:先輸入一個(gè)java代碼(這里只包括了實(shí)例變量)
class Text1 { // 實(shí)例成員變量 private boolean bool; private byte b; private short s; private char c; private int i; private long l; private float f; private double d; private String str; private String[] strArray; public void printInstance() { System.out.println("實(shí)例成員變量默認(rèn)值:"); System.out.println("boolean:" + bool); System.out.println("byte:" + b); System.out.println("short:" + s); System.out.println("int:" + i); System.out.println("long:" + l); System.out.println("float:" + f); System.out.println("double:" + d); System.out.println("String:" + str); System.out.println("String[]:" + strArray); System.out.println("char:" + c); } } public class Text{ public static void main(String[] args) { Text1 dv = new Text1(); dv.printInstance(); } }
輸出結(jié)果:
下面我們來看看類變量是否和實(shí)例變量一樣
class Text1 { // 靜態(tài)成員變量 private static boolean boolStatic; private static byte bStatic; private static short sStatic; private static char cStatic; private static int iStatic; private static long lStatic; private static float fStatic; private static double dStatic; private static String strStatic; private static String[] strArrayStatic; public static void printStatic() { System.out.println("靜態(tài)成員變量默認(rèn)值:"); System.out.println("boolean:" + boolStatic); System.out.println("byte:" + bStatic); System.out.println("short:" + sStatic); System.out.println("int:" + iStatic); System.out.println("long:" + lStatic); System.out.println("float:" + fStatic); System.out.println("double:" + dStatic); System.out.println("String:" + strStatic); System.out.println("String[]:" + strArrayStatic); System.out.println("char:" + cStatic); } } public class Text{ public static void main(String[] args) { Text1 dv = new Text1(); dv.printStatic(); } }
輸出結(jié)果:
在本程序中聲明了各種類型,分別為8種基本數(shù)據(jù)類型、引用類型、數(shù)組類型。并且聲明為兩組,一組為實(shí)例變量,一組為靜態(tài)變量。然后一次輸出兩組數(shù)據(jù)的值。
數(shù)組類型與引用類型的默認(rèn)值相同,都為null,實(shí)際上,數(shù)組就是一種特殊的類(對(duì)象),所以數(shù)組類型的變量也就是引用類型的變量。從結(jié)果可知,相同類型的實(shí)例變量與靜態(tài)變量默認(rèn)值是相同的。
這里有一點(diǎn)奇怪,char類型變量后面什么也沒有輸出。不過,這并不是char類型變量沒有默認(rèn)值,而是默認(rèn)值為“空字符”,也就是‘\u0000',數(shù)值為0,我們可以證明一下。
class Text1 { char c; } public class Text{ public static void main(String[] args) { Text1 A = new Text1(); System.out.println((int) A.c); System.out.println(A.c == '\u0000'); } }
輸出結(jié)果:
感謝各位的閱讀!關(guān)于“Java成員變量默認(rèn)值原理的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!