Java非静态变量初始化

Java费静态变量的初始化分为两种情况,一种是局部变量,一种是类的域。

对于类的域,java在类初始化时,会为变量赋一个初始值。对于基本数据类型,java会将初始值设置为二进制0,具体为将boolean设置为false,将byte设置为0,将char设置为0(即空格),short设置为0,int设置为0,long设置为0,float设置为0.0f,都变了设置为0.0。对于引用类型也会将其初始值设置为二进制0,即null。

而对于局部变量加入你在申明变量的时候没有为其设置初始值,java将认为你这是个粗心导致的错误,所以java会给你一个编译异常。

Talk is weak, show me your code.

package InitializationAndCleanup;

public class VariableInit {
    private boolean mBoolean;
    private byte mByte;
    private short mShort;
    private char mChar;
    private int mInt;
    private long mLong;
    private float mFloat;
    private double mDouble;

private VariableInit mInit;

public void function() {
        int i;
        //i ++; // compile error
    }

public void printInitValue() {
        System.out.println("boolean : " + mBoolean);
        System.out.println("byte : " + mByte);
        System.out.println("short : " + mShort);
        System.out.println("char : [" + mChar + "]");
        System.out.println("int : " + mInt);
        System.out.println("long : " + mLong);
        System.out.println("float : " + mFloat);
        System.out.println("double : " + mDouble);
        System.out.println("reference variable : " + mInit);
    }

public static void main(String[] args) {
        new VariableInit().printInitValue();
    }

}

输出:

boolean : false
byte : 0
short : 0
char : [ ]
int : 0
long : 0
float : 0.0
double : 0.0
reference variable : null

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15a4d1dba5cd12255c67a3e5716f271f.html