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

本文永久更新链接地址

相关内容

    暂无相关文章